home *** CD-ROM | disk | FTP | other *** search
/ Direkt Starter Games / 3D GAMES.ISO / aricity / viren / scanner / viba / virusdef.doc < prev    next >
Text File  |  1997-03-07  |  125KB  |  2,689 lines

  1.  
  2.  
  3.                               Virus Definition
  4.  
  5.  
  6.  
  7.               Die komplette Beschreibung aller Virenarten und
  8.                 Virengattungen unter dem Betriebssystem DOS
  9.  
  10.  
  11.  
  12.                    Copyright (c) 1990-96 by ROSE, Ralph Roth,
  13.                       Finkenweg 24, D 78658 Zimmern o. R.
  14.  
  15.                               ALL RIGHTS RESERVED!
  16.                             ALLE RECHTE VORBEHALTEN!
  17.  
  18.  
  19.       ─══[  1 ÜBERSICHT  ]═════════════════════════════════════════════─
  20.  
  21.  
  22.       Seit dem  ersten Auftreten  von Computerviren  unter  MS-DOS  im
  23.       Jahre 1986  hat sich  die Anzahl der existierenden Computerviren
  24.       explosionsartig vermehrt. Zur Zeit existieren ca. 6000 verschie-
  25.       dene DOS-Viren. Die ersten OS/2- und Windows-Viren sind vor kur-
  26.       zem  gefunden  worden.  Bei  diesen  ebenfalls  relativ  offenen
  27.       Betriebssystemen ist  der gleiche  Trend wie unter DOS zu erwar-
  28.       ten, ein Ende ist generell noch nicht abzusehen! Unter UNIX gibt
  29.       es bis  heute fast  keine Viren,  was darauf  hindeutet, daß ein
  30.       Betriebssystem mit  Sicherheitsmerkmalen virensicherer  ist! Der
  31.       folgende Beitrag  versucht das  Phänomen "Computervirus" und die
  32.       damit   verbundene   Mystik   etwas   aufzuklären.   Das   Thema
  33.       Computerviren ist  nicht ganz  einfach zu verstehen, deshalb ist
  34.       für das  Verständnis des folgenden Artikel ein "gesundes" Maß an
  35.       EDV Grundwissen erforderlich!
  36.  
  37.  
  38.       1.1 Das Handbuch
  39.  
  40.  
  41.       Dieses Handbuch  wurde mit  WINWORD 6.0  erstellt und  einem vom
  42.       Programmautor entwickelten  Hilfsprogramm nach  ASCII  portiert.
  43.       Sie können deshalb dieses Handbuch auf JEDEM Drucker, der minde-
  44.       stens 64  Zeilen pro Blatt und einen Seitenvorschub unterstützt,
  45.       ausdrucken (auch auf Laserdruckern).
  46.  
  47.                     Befehl:     COPY VIRUSDEF.DOC    PRN
  48.  
  49.       ACHTUNG: Das  Originaldokument enthält  Grafiken,  Tabellen  und
  50.       Fußnoten, die natürlich nicht übernommen werden konnten!
  51.  
  52.       1.2 Urheberrecht
  53.  
  54.       Der  Autor  -  Ralph  Roth  -  besitzt  alle  Rechte  an  dieser
  55.       Dokumentationen.    Eine    Vervielfältigung    oder    sonstige
  56.       anderweitige Vervielfältigung  -  auch  auszugsweise-  ist  ohne
  57.       schriftliche Genehmigung  des Autors  untersagt und  stellt eine
  58.       Urheberrechtsverletzung dar!
  59.  
  60.  
  61.  
  62.  
  63.       Beschreibung aller Virenarten und Virengattungen        Seite: 1
  64.  
  65.       Eine Ausnahme  stellt die  Verbreitung im  Zusammenhang mit  vom
  66.       Autor entwickelter Software dar: Ist der SHAREWARE Version eines
  67.       vom Autor  entwickelten Programmes  diese Datei  beigefügt, darf
  68.       diese Datei  nur zusammen  mit dem Sharewareprogramm weitergeben
  69.       werden.  Eine   separate  Trennung   dieser  Datei   ist  jedoch
  70.       unzulässig!
  71.  
  72.       Alle Warenzeichen werden anerkannt.
  73.  
  74.  
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.       Beschreibung aller Virenarten und Virengattungen        Seite: 2
  128.  
  129.  
  130.  
  131.       1.3 Inhaltsverzeichnis
  132.  
  133.  
  134.          1 Übersicht...............................................1
  135.            1.1 Das Handbuch........................................1
  136.            1.2 Urheberrecht........................................1
  137.            1.3 Inhaltsverzeichnis..................................3
  138.            1.4 Einige Definitionen.................................5
  139.                 1.4.1 Softwareanomalien............................5
  140.                 1.4.2 Der Computervirus............................5
  141.                 1.4.3 Der Wirt.....................................6
  142.                 1.4.4 Die Infektion................................6
  143.                 1.4.5 Würmer (worms)...............................6
  144.                 1.4.6 Kettenbriefe.................................7
  145.                 1.4.7 Trojanisches Pferd...........................7
  146.                 1.4.8 Speicherresident.............................7
  147.                 1.4.9 Tarnkappenviren..............................7
  148.                 1.4.10 Verschlüsselte Viren........................7
  149.                 1.4.11 Selbst-upgradend............................7
  150.            1.5 Erste Attacken......................................8
  151.                 1.5.1 Die ersten Netzwerkwürmer....................8
  152.                 1.5.2 Die ersten Viren.............................8
  153.                 1.5.3 Erste wissenschaftliche Untersuchungen.......8
  154.            1.6 Chronologischer Rückblick...........................9
  155.          2 Klassifizierung/Typologie..............................11
  156.            2.1 Einleitung.........................................11
  157.                 2.1.1 Aufenthaltsbereiche von Viren...............11
  158.            2.2 Bootviren..........................................12
  159.                 2.2.1 MBR-Viren (Partitionsviren).................13
  160.                 2.2.2 DOS-Bootviren (DBS-Viren)...................14
  161.            2.3 Hybridviren........................................14
  162.                 2.3.1 Multipartite................................14
  163.            2.4 Systemviren (Cluster-Viren)........................15
  164.            2.5 Kernel-Viren.......................................16
  165.            2.6 Dateiviren (Fileviren).............................16
  166.                 2.6.1 Überschreibende Dateiviren..................16
  167.                 2.6.2 Nicht überschreibende Fileviren (Linkviren).17
  168.            2.7 Companionviren.....................................17
  169.            2.8 Trojanische Pferde, Dropper und Scherzprogramme....18
  170.                 2.8.1 Trojaner (trojans)..........................18
  171.                    2.8.1.1 Namensvettern (spoofing programs)......18
  172.                    2.8.1.2 Dropper................................19
  173.                 2.8.2 Logische Bomben (bombs).....................19
  174.                    2.8.2.1 Zeitbombe (time bomb)..................19
  175.                 2.8.3 Scherzprogramme (jokes).....................19
  176.            2.9 Viren, die noch nicht aufgetreten sind.............20
  177.                 2.9.1 Geisterviren................................20
  178.                 2.9.2 "Hide and Seek" Viren.......................20
  179.                 2.9.3 "Call" Viren................................20
  180.                 2.9.4 Gepufferte Viren............................20
  181.                 2.9.5 Hardware Viren..............................21
  182.                 2.9.6 "Virus Desinformaticus".....................21
  183.          3 Verschiedene "Attribute" von Viren.....................21
  184.            3.1 Unterscheidung nach Infektionsmechanismus..........21
  185.                 3.1.1 Direct action-Viren.........................21
  186.                 3.1.2 Speicherresidente Viren (TSR)...............22
  187.                    3.1.2.1 Unterscheidung der TSR-Viren nach Speicher-
  188.                            belegungsstrategien....................22
  189.  
  190.  
  191.       Beschreibung aller Virenarten und Virengattungen        Seite: 3
  192.  
  193.            3.2 Unterscheidung nach Infizierungsgeschwindigkeit....23
  194.                 3.2.1 Normale Infizierung.........................23
  195.                 3.2.2 Schnelle Infizierung (Fast-Infector)........23
  196.                 3.2.3 Langsame Infizierung (Slow-Infector)........23
  197.                 3.2.4 Spärliche Infizierung (Sparse)..............24
  198.            3.3 Tarnkappenviren und Tarnmethoden...................24
  199.                 3.3.1 Stealthviren................................24
  200.                 3.3.2 Dir-Stealthviren............................24
  201.                 3.3.3 Tunneln (Tunneling).........................25
  202.                 3.3.4 System File Table (SFT) Techniken...........25
  203.                 3.3.5 Cavity Viren................................26
  204.                    3.3.5.1 Header-Viren...........................26
  205.                    3.3.5.2 Stackbereich Viren und "Zerohunting"...27
  206.                 3.3.6 Slackbereich Viren..........................27
  207.                 3.3.7 "Live and Die" Viren........................27
  208.                 3.3.8 Armored (Gepanzert).........................28
  209.                 3.3.9 Hardware Stealthtechniken...................28
  210.                    3.3.9.1 Floppy Disc Boot Simulation............28
  211.                    3.3.9.2 Hardware Level stealth.................28
  212.                    3.3.9.3 Flash-BIOS stealth.....................28
  213.                 3.3.10 Abhilfe bei Stealthviren...................29
  214.            3.4 Verschlüsselte und polymorphe Viren................29
  215.                 3.4.1 Mutation....................................29
  216.                 3.4.2 Verschiedene Arten von Polymorphismus.......30
  217.                    3.4.2.1 Oligomorph.............................30
  218.                    3.4.2.2 Weitere Arten von Polymorphismus.......30
  219.                    3.4.2.3 Zerstückelt (Permutating)..............30
  220.                 3.4.3 Slow Mutating (Langsames Mutieren)..........32
  221.            3.5 Retroviren.........................................32
  222.          4 Zukünftige Betrachtungen...............................33
  223.            4.1 Trends in der Virenentwicklung ....................33
  224.                 4.1.1 Virenkits und Mutation Engines..............33
  225.                 4.1.2 Multipartite Viren..........................34
  226.                 4.1.3 Devicetreiberviren unter Windows............34
  227.            4.2 Internationale Vernetzung..........................34
  228.          5 Literaturverzeichnis...................................35
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.       Beschreibung aller Virenarten und Virengattungen        Seite: 4
  256.  
  257.  
  258.  
  259.       1.4 Einige Definitionen
  260.  
  261.       Die  meisten  der  hier  eingeführten  Begriffe  sind  allgemein
  262.       bekannt,  werden   jedoch  in   der  Literatur   unterschiedlich
  263.       gebraucht, so  daß zur  Klärung hier  eine knappe  formale Defi-
  264.       nition erfolgt. Eine Definition erfolgt in kursiver Schrift.
  265.  
  266.       Eine  weitere   ausführliche  Erklärung  dieser  Begriffe  steht
  267.       teilweise  in   den  nachfolgenden  Kapiteln  oder  kann  z.  B.
  268.       folgender Fachliteratur  [Bontch], [Esch93], [FAQG93], [FAQL92],
  269.       [Ferb92] und [PB92] entnommen werden.
  270.  
  271.       1.4.1 Softwareanomalien
  272.  
  273.       Die Software  verhält sich nicht so, wie sie spezifiziert wurde,
  274.       also nicht nach den Regeln, nach der sie entwickelt wurde.
  275.  
  276.       Tritt eine  Softwareanomalie in  einem  Computersystem  auf,  so
  277.       verhält es sich oder einzelne Systemkomponenten davon nicht mehr
  278.       so wie  erwartet. Dies hat Konsequenzen für die Umgebung, in der
  279.       das Computersystem  eingebettet ist, weil die Funktionalität und
  280.       Systemsicherheit eingeschränkt  ist. Ein anderer, gebräuchlicher
  281.       Begriff  hierfür   ist  auch  der  "Seiteneffekt".  Der  Begriff
  282.       Softwareanomalie kann  demnach als  Oberbegriff für  eine Anzahl
  283.       von Phänomenen verwandt werden, unter die Computerviren und ver-
  284.       wandte Programme fallen. Hierzu zählen u. a.:
  285.  
  286.              »  Computerviren
  287.              »  Würmer und Kettenbriefe
  288.              »  Trojanische Pferde und Dropper
  289.              »  Logische Bomben und Trapdoors
  290.              »  Scherzprogramme
  291.  
  292.       Eine  kurze   Definition  dieser   Anomalien  erfolgt   auf  den
  293.       nachfolgenden Seiten.
  294.  
  295.       1.4.2 Der Computervirus
  296.  
  297.       Ein Computervirus  ist ein  Computerprogramm, das  die Fähigkeit
  298.       besitzt, sich  selbst zu  reproduzieren  (vermehren),  indem  es
  299.       Betriebssystemkomponenten oder  Betriebssystemabläufe (Umgebung)
  300.       zu seinen Gunsten modifiziert1.
  301.  
  302.       Der Computervirus  hat, im Gegensatz zum biologischen Virus (das
  303.       Virus, von  lat. virus  = giftiger Saft), den männlichen Artikel
  304.       und wird oft nur kurz als "der Virus" bezeichnet.
  305.  
  306.       Folgende  weitergehende   Folgerungen  lassen  sich  aus  dieser
  307.       Definition ableiten:
  308.  
  309.             »   ein Virus muß von jemanden geschrieben werden
  310.             »   damit ein Virus aktiv werden kann, muß er, z. B. durch
  311.                 Programmstart, aktiviert werden.
  312.             »   ein Virus benötigt einen Wirt (Wirtsprogramm)
  313.       ____________________
  314.       1Anmerkung: Diese Definition wurde allgemein gehalten, damit
  315.            auch spezielle Computerviren, wie etwa "Companionviren"
  316.            erfaßt werden können.
  317.  
  318.  
  319.       Beschreibung aller Virenarten und Virengattungen        Seite: 5
  320.  
  321.             »   ein Virus vervielfältigt sich demnach selbständig und
  322.                 deshalb meistens unkontrolliert (lack of control)!
  323.             »   ein Virus verändert seine "Umgebung"
  324.             »   es gibt keine "gutartigen" Viren, weil Viren in den
  325.                 Betriebssystemablauf eingreifen, was zu
  326.                 Softwareanomalien führt (unauthorized data modifica-
  327.                 tion).
  328.  
  329.       Mit einem  "research  virus"  bezeichnet  man  Viren,  die  zwar
  330.       geschrieben wurden, aber nie verbreitet wurden.
  331.  
  332.       Es handelt sich hierbei meistens um extrem primitive Viren2 oder
  333.       Viren, die  direkt vom Virenautor an Antivirenforscher geschickt
  334.       wurden.
  335.  
  336.       Mit "in  the wild"  bezeichnet man  Computerviren, die außerhalb
  337.       von den Labors von Virenforschern gefunden wurden.
  338.  
  339.       Der Begriff  "in freier  Wildbahn" wird  teilweise auch  hierfür
  340.       verwendet.
  341.  
  342.       Eine Variante  ist  ein  Virus,  der  durch  Modifizieren  eines
  343.       bekannten Virus entstanden ist.
  344.  
  345.       Beispiele hierfür  sind hinzugefügte  Funktionen oder Änderungen
  346.       am Viruscode um eine Entdeckung zu erschweren.
  347.  
  348.       Trifft  einer  dieser  Punkte  nicht  zu,  so  handelt  es  sich
  349.       eventuell um  ein Trojanisches  Pferd, einen Wurm, eine logische
  350.       Bombe oder eine andere Softwareanomalie.
  351.  
  352.       1.4.3 Der Wirt
  353.  
  354.       In  der   Biologie  bezeichnet   man  das   Medium,  daß   einen
  355.       Krankheitserreger transportiert  als Vektor  einer Infektion. Im
  356.       Computerbereich  hat   sich   hierfür   die   Bezeichnung   Wirt
  357.       eingebürgert.
  358.  
  359.       Ein Wirt  ist eine Betriebssystemkomponente, die von einem Virus
  360.       befallen (infiziert)  werden kann  und es  dem Virus ermöglicht,
  361.       sich weiterzuverbreiten.  Einen infizierten  Wirt bezeichnet man
  362.       auch als verseucht.
  363.  
  364.       1.4.4 Die Infektion
  365.  
  366.       Die Infektion  ist der  Befall eines Wirtsprogrammes durch einen
  367.       Virus.
  368.  
  369.       1.4.5 Würmer (worms)
  370.  
  371.       Ein Wurm  ist ein  eigenständiges Programm,  das Kopien von sich
  372.       selbst erzeugt und zum Ablauf bringt.
  373.  
  374.       Der Begriff Wurm kommt aus der UNIX-Welt. Die Bezeichnung "Wurm"
  375.       ist etwas  verwirrend. Vermutlich kommt die Bezeichnung Wurm von
  376.       der  Eigenschaft   des  Wurmprogrammes,  sich  von  Benutzer  zu
  377.       Benutzer  durchzufressen.   Eine  andere   Erklärung   für   die
  378.       Bezeichnung "Wurm"  könnte eventuell  von dem  UNIX Spiel "worm"
  379.       ____________________
  380.       2Sogenannte "Virogen"-Viren.
  381.  
  382.  
  383.       Beschreibung aller Virenarten und Virengattungen        Seite: 6
  384.  
  385.       abgeleitet werden:  In diesem  Spiel wird  der Wurm beim Fressen
  386.       immer länger.  Ein Computerwurm  "frißt" sich auch von System zu
  387.       System durch  und wird  dabei immer  "länger", solange  bis  die
  388.       Systemlast so groß ist, bis das System zusammenbricht.
  389.  
  390.       Ein Wurm  ist die  Vereinigung aller einzelner Wurmsegmente. Ein
  391.       Wurmsegment ist ein lauffähiges Programm, welches sich innerhalb
  392.       von   Netzwerken    selbst    vervielfältigt,    ohne    hierbei
  393.       Wirtsprogramme  zu   verändern  bzw.  zu  infizieren.  Ein  Wurm
  394.       benötigt  -   im  Gegensatz   zu  Computerviren-   keinen  Wirt.
  395.       Wurmsegmente können  sich gleichzeitig in verschiedenen Systemen
  396.       befinden. Dies  geschieht z.  B. auf  vernetzten Rechnern  durch
  397.       Prozeßgabelung (z.  B. mit dem fork-Systemaufruf) oder, wie beim
  398.       Tannenbaumwurm, durch  Duplizieren und  Versendung  des  eigenen
  399.       Programmcodes an andere Rechner. Der Wurm kann mehrere Programme
  400.       auf   dem   eigenen   Rechner   gleichzeitig   ablaufen   lassen
  401.       (Multitasking) oder  andere Rechner über Netzwerkdienste nutzen.
  402.       Weil auf  einem isolierten  Rechner keine  Verbreitung  erfolgen
  403.       kann, sind Würmer typisch für Netzwerke. Ein wichtiges Kriterium
  404.       für einen  Wurm ist,  daß  er  sich  selbst  an  andere  Rechner
  405.       versenden darf  und dort  sich selbst  starten kann.  Gerade der
  406.       Fernstart  ist   aus  Sicherheitsgründen   normalerweise   nicht
  407.       möglich. Die Praxis hat jedoch gezeigt, daß dies möglich ist, z.
  408.       B. Morris_s "Internet-Wurm" [Morr88].
  409.  
  410.       1.4.6 Kettenbriefe
  411.  
  412.       Der Kettenbrief ist eine Spezialform des Wurmes, der die Aufgabe
  413.       hat, in  den elektronischen  Postkästen des  Netzes  Nachrichten
  414.       abzulegen (Email).
  415.  
  416.       Beispiel: Clausthaler Weihnachtsbaum.
  417.  
  418.       1.4.7 Trojanisches Pferd
  419.  
  420.       Ein trojanisches  Pferd (kurz  auch Trojaner)  ist ein Programm,
  421.       das eine  bestimmte gewünschte  Funktion ausführt,  jedoch  auch
  422.       unerwartete (und unerwünschte) Funktionen enthält.
  423.  
  424.       Von diesem  Gesichtspunkt aus  ist ein  Trojanisches Pferd einem
  425.       Virus ähnlich, mit der Ausnahme, daß ein Trojanisches Pferd sich
  426.       nicht vermehrt.
  427.  
  428.       1.4.8 Speicherresident
  429.  
  430.       Ein speicherresidenter  Virus installiert  sich  beim  Ausführen
  431.       eines  verseuchten  Wirtsprogrammes  selbst  als  ein  Teil  des
  432.       Betriebssystemes.
  433.  
  434.       Der Virus  bleibt solange  im Arbeitsspeicher,  bis  das  System
  435.       ausgeschaltet  wird.   Ist  solch   ein  Virus  erst  einmal  im
  436.       Arbeitsspeicher installiert,  kann er  jeden passenden  Wirt bei
  437.       einem geeigneten Zugriff infizieren.
  438.  
  439.       1.4.9 Tarnkappenviren
  440.  
  441.       Ein Tarnkappenvirus (engl. Stealthvirus, stealth = heimlich) ist
  442.       ein speicherresidenter  Virus, der versucht, eine Entdeckung von
  443.       sich selbst  zu  verhindern,  indem  er  sein  Vorhandensein  in
  444.       infizierten Wirten verheimlicht.
  445.  
  446.  
  447.       Beschreibung aller Virenarten und Virengattungen        Seite: 7
  448.  
  449.  
  450.       Um dies  zu erreichen,  muß solch  ein Virus  Systemaufrufe, die
  451.       einen Zugriff auf den infizierten Wirt durchführen, abfangen und
  452.       entsprechend manipulieren.
  453.  
  454.       1.4.10 Verschlüsselte Viren
  455.  
  456.       Ein verschlüsselter  Virus besteht  aus zwei  Teilen: aus  einem
  457.       kurzen Entschlüsselungsteil  (decryptor) und dem verschlüsselten
  458.       Rest (encrypted body).
  459.  
  460.       Wird solch ein verschlüsselter Virus ausgeführt, wird zuerst der
  461.       Decryptor ausgeführt, der den eigentlichen Virus entschlüsselt.
  462.  
  463.       Ein  variabel   verschlüsselter   Virus   benützt   verschiedene
  464.       Schlüssel oder  verschiedene Verschlüsselungsalgorithmen. Solche
  465.       Viren werden auch als oligomorph verschlüsselt bezeichnet.
  466.  
  467.       Ein   polymorph   verschlüsselter   Virus   ist   ein   variabel
  468.       verschlüsselter Virus,  der  zwar  funktionelle  gleiche  Kopien
  469.       seiner selbst  erzeugt, diese  Kopien sind  von  ihrem  Aussehen
  470.       jedoch  total   unterschiedlich.  Eine   Routine,   die   solche
  471.       polymorphen Decryptoren  erzeugt, wird  auch als "Mutation Engi-
  472.       nes" bezeichnet.
  473.  
  474.       1.4.11 Selbst-upgradend
  475.  
  476.       Ein Virus,  der nach  Vorgängerversionen seiner selbst sucht und
  477.       diese durch  sich selbst  ersetzt, bezeichnet  man als  "selbst-
  478.       upgradend".
  479.  
  480.  
  481.       1.5 Erste Attacken
  482.  
  483.       Die   ersten   sich   selbstreproduzierenden   Programme   waren
  484.       sogenannte "mainframe  rabbits" ([Ferb92],  S. 5),  die 1966  am
  485.       MIT,  Boston   von  zwei  Studenten  geschrieben  wurden.  Diese
  486.       Programme, die  als Interpreterscript für den Batchbetrieb eines
  487.       CTSS Timesharing-Systemes auf einer IBM 7090 geschrieben wurden,
  488.       erzeugten von  sich  selbst  Kopien  und  verlangsamten  so  den
  489.       Systemdurchsatz enorm.  Aufgrund eines Fehlers des Systems wurde
  490.       der  Rechner   lahmgelegt.  Der   Interpreter  unterstützt   oft
  491.       Kommandos  für  Prozeßgenerierung  und  Prozeßmanipulation.  Der
  492.       "rabbit" kann  sich in  diesem Fall  zig mal  kopieren und  alle
  493.       Prozeßqueues füllen,  die erreichbar  sind. Ältere  Systeme, die
  494.       noch keinen Prozessorscheduler besitzen, brechen dann irgendwann
  495.       unter der Systemlast zusammen.
  496.  
  497.       1.5.1 Die ersten Netzwerkwürmer
  498.  
  499.       1972 beschrieb  David Gerrold  in seinem  Buch "When  Harlie Was
  500.       One" das Konzept eines Netzwerkwurmes, der sich über Selbstwähl-
  501.       Modems auf andere Rechner kopiert, sich dort aktiviert und seine
  502.       alte Kopie löscht ([Ferb92], S. 6).
  503.  
  504.       Diese Beschreibung  trifft grob auf die ersten Würmer ("Creeper"
  505.       und "Reaper")  zu, die von zwei Forschern in den 70_er Jahren zu
  506.       Demonstrationszwecken entwickelt  wurden.  Creeper  druckte  ein
  507.       Datei aus  dem System aus, wartete und kopierte seinen Programm-
  508.       code auf  einen anderen  vernetzten Rechner und löschte sich auf
  509.  
  510.  
  511.       Beschreibung aller Virenarten und Virengattungen        Seite: 8
  512.  
  513.       dem  Ursprungsrechner.   Creeper  "kroch"   somit  langsam   von
  514.       Rechensystem  zu   Rechensystem.   Creeper   wurde   dahingehend
  515.       modifiziert, daß  er zusätzlich  noch  Kopien  von  sich  selbst
  516.       erzeugte und  diese nicht  mehr löschte!  Der erste Netzwerkwurm
  517.       war geboren.  Nun wurde  der Wurm  Reaper entwickelt,  der  nach
  518.       Kopien des  Creaper-Programmes suchte  und diese  löschte. Somit
  519.       war auch das erste "Antivirenprogramm" entwickelt worden.
  520.  
  521.       Solche Programme, die selbst von ihrem Aufbau Viren sind, jedoch
  522.       den  Auftrag  haben,  einen  anderen  Virus  zu  suchen  und  zu
  523.       zerstören bezeichnet man als "Anti-Anti Virus".
  524.  
  525.       Im Xerox  Alto Research Center wurden 1982 die ersten Würmer für
  526.       verteilte Berechnungen  erstellt. Aufgrund eines Programmfehlers
  527.       vermehrte sich  der Wurm  unkontrolliert und  brachte das System
  528.       zum Zusammenbruch.
  529.  
  530.       Der  Internet-Wurm,  der  1988  von  Morris  freigesetzt  wurde,
  531.       vermehrte  sich   innerhalb  eines   Tages  auf  schätzungsweise
  532.       hunderten bis  mehreren Tausend  Rechnern. Der Internet-Wurm war
  533.       der erste Wurm, der weltweit publik wurde.
  534.  
  535.       1.5.2 Die ersten Viren
  536.  
  537.       1980 wird  der erste  Laborvirus auf  einem APPLE II entwickelt.
  538.       1981 wird der Virus "Elk Cloner" auf einem APPLE II entdeckt. Er
  539.       führt zufällige  Aktionen  aus,  infiziert  den  Bootsektor  und
  540.       bindet sich  speicherresident in  die Interruptes ein. 1982 wird
  541.       von Joe  Dellinger der  erste selbst-upgradende  Virus für einen
  542.       APPLE II mit DOS 3.3 verbreitet.
  543.  
  544.       1.5.3 Erste wissenschaftliche Untersuchungen
  545.  
  546.       Professor L.  Adelmann, Universität  South California, prägt als
  547.       erster den Begriff "Computervirus".
  548.  
  549.       Der erste,  der sich  wissenschaftlich mit  der Untersuchung von
  550.       Computerviren beschäftigte,  war Fred Cohen. Ein Artikel von ihm
  551.       "Computer Viruses - Theory and Experiments" erschien 1984, seine
  552.       Doktorarbeit über  das gleiche Thema beendete er 1986 ([Treb92],
  553.       S. 16f).  Cohen war  auch einer  der ersten,  die experimentelle
  554.       Viren auf  Großrechnern entwickelte.  Die  nachfolgende  Tabelle
  555.       gibt einen kurzen Überblick über seine Tätigkeiten.
  556.  
  557.  
  558.        Datum       Beschreibung
  559.  
  560.        03.11.83    Entwicklung eines  Virus für  UNIX (VAX 11/750).
  561.                    Die  Programmierung   dauerte  8   Stunden,  die
  562.                    Systemrechte    erlangt     der    Virus    nach
  563.                    durchschnittlich 30 Minuten.
  564.  
  565.        10.11.83    Experiment mit  einem über  ein  Bulletin  Board
  566.                    (BBS) eingeschleustem Programm.
  567.  
  568.        Juli 84     Tests auf Bell-LaPadula System (Univac 1108)
  569.  
  570.        August 84             Test unter UNIX (VAX)
  571.  
  572.  
  573.  
  574.  
  575.       Beschreibung aller Virenarten und Virengattungen        Seite: 9
  576.  
  577.  
  578.        31.08.84    Veröffentlichung seiner Arbeit "Computer Viruses
  579.                    -  Theory  and  Experiments"  bei  Professor  L.
  580.                    Adelmann.
  581.  
  582.                    Tabelle: Erste wissenschaftliche Viren
  583.  
  584.  
  585.       Dies   waren    die    ersten    experimentellen    Viren    auf
  586.       wissenschaftlicher Basis.
  587.  
  588.  
  589.       1.6 Chronologischer Rückblick
  590.  
  591.                                   - 1985 -
  592.  
  593.       Am 11.12.85  veröffentlichte die  Zeitschrift "Apples" ein Virus
  594.       im  Quellcode  für  den  APPLE  II.  Die  Zeitschrift  "Computer
  595.       Persönlich" zog  mit ihrer Ausgabe Nr. 24 vom 12.11.86 nach, die
  596.       ebenfalls den  Quellcode  für  einen  Virus  für  den  APPLE  II
  597.       enthielt ([Treb92], S. 18).
  598.  
  599.                                   - 1986 -
  600.  
  601.       Im  Januar   1986  wurde  die  erste  Vireninfektion  auf  einem
  602.       Großrechner für  Datenverarbeitung an der FU in Berlin entdeckt.
  603.       19863 wurde  der erste  Virus für  Rechner mit INTEL-Architektur
  604.       entdeckt, der  sog. Pakistani-Brain4  Virus.  Mitte  des  Jahres
  605.       tauchten die  ersten DOS-Viren  in englischsprachigen Programmen
  606.       auf. Kurz  darauf wurden  die Dateiviren Vienna, Cascade, LeHigh
  607.       sowie die Bootviren Yale, Stoned und Pingpong gefunden.
  608.  
  609.                                   - 1987 -
  610.  
  611.       Im November  1987 wird  der Virus LeHigh gefunden, der eine neue
  612.       Technik verwendet,  ein sogenannter  Stackbereich Infektor. Kurz
  613.       darauf (Dezember 1987) wurde der Israeli-#1 (Suriv) Virus an der
  614.       Universität von  Jerusalem gefunden,  der der  Urvirus der Jeru-
  615.       salem Familie5 ist.
  616.  
  617.       Im  gleichen   Jahr  wird   in  Deutschland  der  Cascade  Virus
  618.       (1701/1704)  gefunden.   Er  ist   der  erste  speicherresidente
  619.       verschlüsselte Virus,  man spricht  deshalb auch von der zweiten
  620.       Virengeneration. Für andere Rechner tauchen ebenfalls die ersten
  621.       Viren auf,
  622.  
  623.  
  624.  
  625.       ____________________
  626.       3Hier gehen die Meinungen nach dem ersten Auftauchen des Brain-
  627.            Virus auseinander. Laut [Esch93] wurde er im Oktober 1987
  628.            an der Universität von Dalaware entdeckt. Laut Experten,
  629.            könnte der Vorgänger des Brain-Virus, der Ashar-Virus,
  630.            jedoch aus dem Jahre 1986 oder früher stammen. Sicher ist
  631.            jedoch, daß er im Januar 1986 in Pakistan gefunden wurde,
  632.            siehe ([Ferb92], S. 11).
  633.       4Ein speicherresidenter Bootvirus, mit Tarnkappeneigenschaften.
  634.            Er konnte jedoch nur 360 KB Disketten infizieren.
  635.       5Vom Jerusalem Virus gibt es schätzungsweise 300, zum Teil sehr
  636.            stark modifizierte Varianten!
  637.  
  638.  
  639.       Beschreibung aller Virenarten und Virengattungen       Seite: 10
  640.  
  641.           + MAC -  nVir wird  in Deutschland entdeckt, im Dezember der
  642.             Peace Virus.
  643.           + Amiga - Swiss Cracker Association Virus.
  644.           + Atari -  Pirate Trap  Virus und  Aladdin (der erste Cross-
  645.             Platform Virus)
  646.           + UNIX - IBM MVS 370 Virus, im Juni ein anderer UNIX Virus
  647.  
  648.       In der "c_t" wird 1987 ein Artikel mit dem Source-Code von einen
  649.       Virus für  den Atari  ST veröffentlicht.  Aus  diesen  Quellcode
  650.       entsteht ein  ganzer Virenstamm  in der Nachfolgezeit. Es werden
  651.       deshalb die  ersten  Kritiken  zur  Veröffentlichung  von  Viren
  652.       Source-Codes laut.
  653.  
  654.       Der Clausthaler  Weihnachtsbaum (Christmas  Tree Exec)  wird  am
  655.       17.12.87 von  der Hochschule Clausthal-Zellerfeld über IBM-VNet,
  656.       EARN und  BitNet um  die ganze  Welt geschickt.  Es handelt sich
  657.       hierbei um einen speziellen Wurm, einen sogenannten Kettenbrief,
  658.       der sich über Email Adressen verbreitet.
  659.  
  660.                                   - 1988 -
  661.  
  662.       1988 wird  der erste Virenbaukasten (Virus Construction Set) für
  663.       den Atari  ST veröffentlicht.  Im  gleichen  Jahr  erlangen  die
  664.       Netzwerk Würmer "Internet-Worm" und "Father Christmas" weltweite
  665.       Verbreitung.
  666.  
  667.                                   - 1989 -
  668.  
  669.       Der erste  polymorphe Virus (1260, V2Px oder Washburn) wird 1989
  670.       gefunden. Es  werden die  ersten  Dateiviren  (Frodo)  gefunden,
  671.       welche Tarnkappeneigenschaften  verwenden. Erste  internationale
  672.       Bemühungen,  Viren  zu  klassifizieren.  Die  ersten  gedruckten
  673.       Dienste, die  über Viren  informieren (Virus  Bulletin und Virus
  674.       Telex) erscheinen.  Weitere Würmer  tauchen auf;  der WANK (Worm
  675.       against nuclear killers) und OILZ Wurm. Die AIDS Trojan Diskette
  676.       wird weltweit  versendet. Die  Medien finden  Interesse  an  der
  677.       Thematik Computer  Viren. Die  ersten Artikel  und Bücher werden
  678.       veröffentlicht.
  679.  
  680.                                   - 1990 -
  681.  
  682.       Der Whale  Virus wird  1990 entdeckt, er ist ein "Super"-Virus6,
  683.       kann sich  selbst modifizieren, ist oligomorph verschlüsselt und
  684.       enthält Tarnkappeneigenschaften.  Er ist  bis heute  der  größte
  685.       speicherresidente Virus für das DOS Betriebssysteme. Auf dem Ma-
  686.       cinthosh  wird   ein  Trojanisches   Pferd  gefunden,   daß  das
  687.       LaserWriter Paßwort  verändert. In  diesem Jahr wurde der DIR-II
  688.       Virus unter  DOS freigesetzt. Es ist ein ganz neuer Virustyp, er
  689.       infiziert nämlich  nicht Programme  sondern deren  FAT Einträge.
  690.       Das erste  Virus Construction  Set (VCS)  vom "Verband deutscher
  691.       Virenliebhaber" für DOS wird verbreitet.
  692.  
  693.                                   - 1991 -
  694.  
  695.  
  696.       ____________________
  697.       6Laut Gerüchten, soll er sogar von Virenforschern als
  698.            "Laborvirus" programmiert worden sein. Dieser Virus hat
  699.            eher wissenschaftlichen Charakter, der wurde nie groß in
  700.            der "freien Wildbahn" (in the wild) gefunden.
  701.  
  702.  
  703.       Beschreibung aller Virenarten und Virengattungen       Seite: 11
  704.  
  705.       Im Jahre  1991 taucht  eine Vielzahl neuer Viren auf, die Anzahl
  706.       der  neu   gefunden  Viren  wächst  jetzt  langsam  aber  sicher
  707.       exponentiell an.  Der Yankee.Login  (Get  Password)  Virus  wird
  708.       entdeckt. Er  wurde  speziell  für  Novell-Netware  (unter  DOS)
  709.       programmiert,   um    Paßwörter   auszuspähen.   Die   weltweite
  710.       Zusammenarbeit wird  besser, es  werden die  Organisationen CARO
  711.       (Computer Anti-Virus  Research Organisation) und EICAR (European
  712.       Institute for Anti-Virus Research) gegründet.
  713.  
  714.                                   - 1992 -
  715.  
  716.       Die erste  Mutation Engine  wurde 1992  von "Dark  Avenger"  als
  717.       Objektdatei veröffentlicht.  Seither gibt  es eine wahre Flut an
  718.       Mutation Engines.
  719.  
  720.                                   - 1993 -
  721.  
  722.       Ab 1993  kann man  generell sagen,  daß DOS  Computerviren  eine
  723.       eigene Dynamik entwickelt haben. Fast jeden Tag tauchen zwei bis
  724.       drei neue Computerviren auf und ca. jeden Monat taucht eine neue
  725.       Mutation Engine oder ein neues Virenkit auf. Prinzipiell gibt es
  726.       seit diesem  Zeitpunkt keine  neuen Viren mehr, nur altbekanntes
  727.       in  neuen   Variationen,  wie   z.  B.   Kernel-Infektoren  oder
  728.       permutierenden polymorphe Viren.
  729.  
  730.                                  - heute -
  731.  
  732.       Mit den  "neuen" Betriebssystemen  wie OS/2,  Windows oder  UNIX
  733.       Derivate für  PC sind  auch neue Viren für diese Betriebssysteme
  734.       entstanden. Im  Gegenzug kam  die Virenentwicklung  z.  B.  beim
  735.       Macintosh oder bei UNIX Würmern fast zum Stillstand, weil einige
  736.       Virenprogrammier erfolgreich  verurteilt wurden,  was  zu  einer
  737.       Abschreckung führte.
  738.  
  739.       Weitere Trends in der Virenentwicklung habe ich in einem eigenen
  740.       Kapitel "Trends in der Virenentwicklung" zusammengefaßt.
  741.  
  742.       Aus diesen  Gründen konzentriert sich diese Arbeit hauptsächlich
  743.       auf DOS Computerviren.
  744.  
  745.  
  746.       ─══[  2 KLASSIFIZIERUNG/TYPOLOGIE  ]═════════════════════════════─
  747.  
  748.  
  749.       Im nachfolgenden  Kapitel möchte  ich  existierende  Viren  nach
  750.       ihrem Infizierungsverhalten  klassifizieren. Im nächsten Kapitel
  751.       wird  dann   auf  die   möglichen  Attribute   eingegangen,  die
  752.       Computerviren haben können.
  753.  
  754.  
  755.       2.1 Einleitung
  756.  
  757.       Die nachfolgende  Beschreibung bezieht  sich fast ausschließlich
  758.       auf Computerviren,  die unter dem Betriebssystem DOS7 auftreten.
  759.       Abgesehen  von   Tarnkappentechniken  und   einigen   speziellen
  760.       Dateiformaten unter  DOS/Windows ist die Beschreibung der Viren-
  761.       arten auf jedes Betriebssystem übertragbar!
  762.       ____________________
  763.       7Anmerkung: Fast alle Viren laufen unter den verschiedenen DOS
  764.            Versionen wie MS-DOS, PC-DOS, DR-DOS oder Novell-DOS.
  765.  
  766.  
  767.       Beschreibung aller Virenarten und Virengattungen       Seite: 12
  768.  
  769.  
  770.       2.1.1 Aufenthaltsbereiche von Viren
  771.  
  772.       PCs besitzen  zwei Bereiche,  die für  eine Vermehrung von Viren
  773.       generell in  Betracht kommen. Es handelt sich um das Dateisystem
  774.       und um  den sogenannten  Bootrecord. Somit  kann  zwischen  zwei
  775.       Virenarten unterschieden werden, nämlich
  776.  
  777.          + Dateiviren, die
  778.                 +    Dateien (Programme) oder das
  779.                 +    Dateisystem infizieren und
  780.          + Bootviren, die
  781.                + den Master Boot Record (MBR) oder
  782.                + den aktiven Bootrecord infizieren.
  783.  
  784.       Kann ein  Virus beide Bereiche infizieren, bezeichnet man in als
  785.       Hybridvirus oder auch multipartite.
  786.  
  787.       Es folgt  eine Klassifizierung  von Viren nach Art und Weise der
  788.       Infektion, anschließend  werden die verschiedenen Virengattungen
  789.       genauer beschrieben.
  790.  
  791.       «UNGULTIGES_FELD: Objekt»
  792.  
  793.        Abb.: Grobe Klassifizierung von Viren und deren hauptsächliche
  794.                                 Verbreitung
  795.  
  796.  
  797.  
  798.       2.2 Bootviren
  799.  
  800.       Bootviren infizieren  keine Programme,  sondern den  sogenannten
  801.       Bootsektor, auch  Bootrecord genannt! Man unterscheidet zwischen
  802.       zwei Arten  von Bootviren,  die  sich  in  der  Infizierung  der
  803.       Festplatte unterscheiden.  Bei  der  Infizierung  von  Disketten
  804.       verhalten sie sich jedoch gleich. Es handelt sich um
  805.  
  806.              +  MBR-Viren (Partitionsviren)8
  807.              +  DOS-Bootviren (DBR)
  808.  
  809.  
  810.  
  811.  
  812.  
  813.  
  814.  
  815.  
  816.  
  817.  
  818.  
  819.  
  820.  
  821.  
  822.  
  823.  
  824.  
  825.  
  826.  
  827.       ____________________
  828.       8 MBR ist die Abkürzung für "Master Boot Record"
  829.  
  830.  
  831.       Beschreibung aller Virenarten und Virengattungen       Seite: 13
  832.  
  833.  
  834.       «UNGULTIGES_FELD: Objekt»
  835.  
  836.                     Abb.: Klassifizierung von Bootviren
  837.  
  838.  
  839.       Eine Zwitterstellung  nehmen die  Hybrid-Viren und  Kernel-Viren
  840.       ein, ihr  Merkmal ist  jedoch, daß sie auch den MBR, den DBR der
  841.       Festplatte  oder   DOS  Bootsektoren  auf  Disketten  infizieren
  842.       können.
  843.  
  844.       Achtung:  Bootviren   sind  normalerweise  speicherresident  und
  845.       extrem  infektiös!   Bei  einem   aktiven  Bootvirus  wird  jede
  846.       Diskette, die  nicht schreibgeschützt  ist, von  dieser Virenart
  847.       infiziert! Bootviren  verbreiten sich  somit  schnell  und  sehr
  848.       effektiv. Im  Zeitraum September  1994 bis Mai 1995 waren die 10
  849.       am häufigsten  auftauchenden  Viren  Bootviren!  Knapp  dahinter
  850.       folgen dann die Hybridviren, die ebenfalls den MBR von Festplat-
  851.       ten infizieren.
  852.  
  853.       2.2.1 MBR-Viren (Partitionsviren)
  854.  
  855.       Fast alle  Viren, die  auf  Diskette  den  Bootsektor  befallen,
  856.       infizieren auf  der Festplatte nicht den DOS-Bootsektor, sondern
  857.       den     Master-Boot-Record      (MBR),     im     Sprachgebrauch
  858.       fälschlicherweise  auch  "Partition  Table"  (Partitionstabelle)
  859.       genannt. Der  MBR (Master Boot Record) befindet sich auf dem er-
  860.       sten physikalischen  Sektor der Festplatte und hat bei allen PCs
  861.       ein einheitliches Format9.
  862.  
  863.       Die Partitionstabelle,  welche  die  Daten  über  die  einzelnen
  864.       Plattenpartitionen enthält, ist ein zusätzlicher Bestandteil des
  865.       MBR. In  der Partitionstabelle  können bis  zu vier  Partitionen
  866.       aufgenommen werden.  Eine dieser  Partitionen wird normalerweise
  867.       als aktiv markiert.
  868.  
  869.       Der MBR enthält zusätzlich ein kleines Programm (Lader), welches
  870.       bei Rechnerstart direkt vom BIOS her geladen und aufgerufen wird
  871.       und den  Rechner auf das Booten des eigentlichen Betriebssystems
  872.       vorbereitet.  Das   Ladeprogramm  prüft   anhand  der   Partiti-
  873.       onstabelle, welche  Partition als aktiv markiert ist. Anhand der
  874.       weiteren Daten  in der  Partitionstabelle wird  dann  der  erste
  875.       Sektor der  aktiven Partition  geladen  und  ausgeführt.  Diesen
  876.       Vorgang nennt man "bootstrapping".
  877.  
  878.       Dieses Ladeprogramm  wird nun  von einem  MBR-Infektor  entweder
  879.       überschrieben, verschoben und ersetzt, oder teilweise manipulie-
  880.       rt. Viren,  die so  verfahren, zählen  im Sprachgebrauch  zu den
  881.       Bootviren. Manche  Viren, die  Dateien infizieren,  sind so pro-
  882.       grammiert, daß sie auch den MBR infizieren (siehe Hybrid-Viren).
  883.  
  884.       MBR-Viren  sind   somit  nicht   auf  das   Betriebssystem   DOS
  885.       beschränkt,  sondern   können  auch   OS/2   und   Linux-Rechner
  886.       infizieren, die den PC Befehlssatz verwenden! Viren, die den MBR
  887.       infizieren, können dies auf mehrere Arten tun:
  888.  
  889.  
  890.       ____________________
  891.       9 Siehe auch im Anhang: "MBR- und Partitionstabellen-Layout" und
  892.            "Boot- und MBR-Beschreibung".
  893.  
  894.  
  895.       Beschreibung aller Virenarten und Virengattungen       Seite: 14
  896.  
  897.       + Ersetzen des  MBR und  Verwenden von  Tarnkappeneigenschaften.
  898.         Sobald der  Virus aktiv ist, scheint somit der MBR unverändert
  899.         zu sein.
  900.       + Überschreiben   oder    Ersetzen   des   Ladeprogrammes,   die
  901.         Partitionstabelle  wird   jedoch  übernommen.  Dies  ist  sehr
  902.         gefährlich, falls  z. B.  ein UNIX  oder  OS/2  Betriebssystem
  903.         nachgeladen werden  soll, weil im Ladeprogramm teilweise schon
  904.         betriebssystembezogene Aktionen  durchgeführt werden,  die der
  905.         Virus natürlich nicht durchführen kann. Oftmals hängt dann ein
  906.         solches System.
  907.       + Es gibt  auch Viren,  die den  MBR anders als hier beschrieben
  908.         infizieren. Sie  verändern z.  B. nur Teile des MBR, legen für
  909.         sich selbst  eine neue  Partition in der Partitionstabelle an,
  910.         von wo aus sie dann weiterbooten lassen, oder sie codieren den
  911.         gesamten MBR  samt Partitionstabelle  so, daß  dieser nur  bei
  912.         geladenem Virus  lesbar ist (z.B. ExeBug). Auch gibt es Viren,
  913.         die  den   MBR   aufgrund   eines   Programmierfehlers   (oder
  914.         absichtlich) einfach überschreiben (z. B. Monkey oder Azusa).
  915.  
  916.  
  917.  
  918.                  Abb.: Infektionsmechanismus von MBR-Viren
  919.  
  920.  
  921.       Viren, die  den MBR infizieren, müssen mit speziellen Antiviren-
  922.       programmen entfernt  werden, weil  die  Partitionstabelle  nicht
  923.       gelöscht werden  darf und  der Virus  durch  ein  entsprechendes
  924.       Ladeprogramm ersetzt  werden muß. Andernfalls muß die Festplatte
  925.       formatiert werden!  Mit dem  Programm Norton  Disk  Doktor  kann
  926.       unter Umständen solch ein Virus entfernt werden.
  927.  
  928.       Bekannte Beispiele  für Bootviren sind: Monkey, Jack The Ripper,
  929.       Parity Boot,  Stoned, Cansu  (V-Sign), AntiExe, Michelangelo und
  930.       Pakistani Brain.
  931.  
  932.       2.2.2 DOS-Bootviren (DBS-Viren)
  933.  
  934.       Diese Sorte  Viren benutzen  den sogenannten  DOS-Bootsektor als
  935.       Wirt, in  den sie  sich einklinken.  Sie  werden  jedesmal  beim
  936.       Starten von  DOS  geladen.  Der  DOS-Bootsektor  ist  der  erste
  937.       logische Sektor einer Diskette oder einer Festplatte. Er enthält
  938.       ein kurzes  Programm, anhand dessen DOS das Betriebssystem laden
  939.       kann, wenn  die Partition  bzw. Diskette  bootfähig ist.  Dieses
  940.       Programm wird  nun von  einem Bootsektorvirus  entweder an  eine
  941.       andere Stelle  des Datenträgers  kopiert, während  der Virus den
  942.       Bootsektor überschreibt  und  eine  Referenz  auf  das  original
  943.       Bootprogramm  erstellt,  oder  es  wird  der  Code  im  Original
  944.       Bootprogramm manipulieren,  so daß beim Booten zuerst der Virus-
  945.       code ausgeführt  wird  und  dieser  sich  hinterher  zum  Origi-
  946.       nalprogramm rückverzweigt.  Es wird  also zuerst  der  MBR  aus-
  947.       geführt, der  als aktive  Partition DOS angemeldet hat, dann der
  948.       Virus  und   erst  dann   wird   der   original   DOS-Bootsektor
  949.       nachgeladen! Die  meisten  Bootviren  lassen  sich  jedoch  sehr
  950.       einfach durch Verwendung des SYS-Befehls entfernen.
  951.  
  952.       Ein Beispiel  hierfür ist der Form-Virus, der schon manchen OS/2
  953.       Anwender zur  Verzweiflung gebracht  hat. Szenario: OS/2 ist als
  954.       aktive Partition  in der Partitionstabelle angemeldet. Der Form-
  955.       Virus lädt jetzt den ersten Sektor der OS/2 Partition, speichert
  956.       ihn am Ende der Festplatte ab und ersetzt ihn durch sich selbst.
  957.  
  958.  
  959.       Beschreibung aller Virenarten und Virengattungen       Seite: 15
  960.  
  961.       Wird jetzt  OS/2 gebootet,  wird zuerst  Form  aktiv,  der  dann
  962.       versucht, den  original OS/2  Bootsektor nachzuladen.  Dies kann
  963.       jedoch fehlschlagen,  weil eventuell OS/2 ihn überschrieben hat.
  964.       Das System hängt dann! Das gleiche Problem kann auftreten, falls
  965.       eine Komprimierungssoftware wie Stacker oder DoubleSpace verwen-
  966.       det wird.
  967.  
  968.  
  969.       2.3 Hybridviren
  970.  
  971.       Hybridviren sind  Viren, die  einerseits Programme  und anderer-
  972.       seits den Partitionssektor der Festplatte infizieren.
  973.  
  974.       Die Hybridviren  werden dann beim "Hochfahren" des Systems schon
  975.       aktiviert und sind dementsprechend schwierig zu entfernen (Bsp.:
  976.       Natas,  Junkie,   Flip-B  und   Tequila).  Inzwischen   gibt  es
  977.       Hybridviren, die  zusätzlich in der Lage sind, auch Bootsektoren
  978.       von Disketten  zu infizieren! Bekannte Beispiele für Hybridviren
  979.       sind Natas, Goldbug, Junkie oder Neuroquila.
  980.  
  981.       2.3.1 Multipartite
  982.  
  983.       Eine weitere Bezeichnung für Hybridviren ist "Multipartite". Ein
  984.       solcher Virus  kann Wirte auf verschiedene Weise infizieren, wie
  985.       z.  B.   Companiondateien  erzeugen   und  zusätzlich   den  MBR
  986.       infizieren.
  987.  
  988.       Der    Virus     Goldbug,     der     Partitionssektoren     und
  989.       Diskettenbootsektoren infiziert  und zusätzlich Companiondateien
  990.       erzeugt, ist z. B. ein solcher Multipartite Virus.
  991.  
  992.  
  993.       2.4 Systemviren (Cluster-Viren)
  994.  
  995.       Diese Virenart  benutzt eine  besondere Eigenschaft von DOS aus,
  996.       um ein DOS-Dateisystem zu infizieren. Diese Methode wird bislang
  997.       ausschließlich vom  DIR-II (Creeping  Death)  Virus  und  dessen
  998.       Varianten benutzt.  Die zusätzlich  verwendeten  Techniken  läßt
  999.       DIR-II  zugleich   in  die   Gattung  der  Stealthviren  fallen.
  1000.       Geschrieben wurde der DIR-II Virus 1990 in Bulgarien, Varna, von
  1001.       zwei Mathematikstudenten.  Der DIR-II Virus ist extrem virulent,
  1002.       weshalb er  zu den  meistverbreiteten Viren gehört, obwohl er im
  1003.       Original nur mit DOS 3.0 bis DOS 5.0 Beta funktioniert.
  1004.  
  1005.       Wirkungsweise: Wird der Virus das erste Mal gestartet, nistet er
  1006.       sich als  Bestandteil des  Betriebssystems  (im  CONFIG-Bereich)
  1007.       speicherresident  ein.   Der  Virus  bindet  sich  als  weiterer
  1008.       Devicetreiber ein,  deklariert sich  aber  als  Bestandteil  von
  1009.       COMMAND.COM.       Durch        die       Deklarierung       als
  1010.       Betriebssystembestandteil kann  man ihn  schwerer  lokalisieren.
  1011.       Wird jedoch ein schon infiziertes System gebootet, vergrößert er
  1012.       den Bereich des Kommandointerpreters um ca. 1.5 KB! Als nächsten
  1013.       Schritt schreibt sich der Virus selbst in die letzten 1024 Bytes
  1014.       des Datenträgers,  d. h.  bei Festplatten,  360 KB & 720 KB Dis-
  1015.       ketten in den letzten Cluster, bei 1.2 MB & 1.44 MB Disketten in
  1016.       die zwei  letzten Cluster.  Diese Cluster  werden vom  Virus als
  1017.       belegt  markiert  (als  EOF).  Daten,  die  dort  standen,  sind
  1018.       verloren! Anschließend versucht er auf dem C: Laufwerk die Datei
  1019.       c:" "  (Alt-255)  auszuführen,  was  dazu  führt,  daß  DOS  das
  1020.       aktuelle Verzeichnis  und den ganzen Pfad (PATH=...) durchsucht.
  1021.  
  1022.  
  1023.       Beschreibung aller Virenarten und Virengattungen       Seite: 16
  1024.  
  1025.       Weil der  Virus schon  aktiv ist,  werden beim  Durchsuchen alle
  1026.       Programme im Pfad infiziert!
  1027.  
  1028.       Der Virus  selbst verwendet  selbst  keine  Interrupts,  sondern
  1029.       fängt  DOS   Device  Treiberaufrufe   ab,  die  er  entsprechend
  1030.       modifiziert. Infiziert  werden vom  Virus  Einträge  aller  aus-
  1031.       führbaren Dateien (COM & EXE) in der ersten FAT (File Allocation
  1032.       Table). Der  Virus kopiert  und verschlüsseltet deren Zeiger auf
  1033.       die ungenützten  Einträge in  der ersten  FAT,  während  er  den
  1034.       Originaleintrag auf  sich selbst  umsetzt. Ruft der Benutzer nun
  1035.       ein Programm  auf, wird aufgrund des umgesetzten Eintrags zuerst
  1036.       der Virus  aufgerufen. Dieser  sieht nun in seiner "eigenen FAT"
  1037.       nach, welches  Programm der  Benutzer eigentlich  starten wollte
  1038.       und lädt  nun dieses  von der  Festplatte in den Speicher, wo es
  1039.       gestartet wird.
  1040.  
  1041.       Stealthtechniken: Die  Disketten- und  Festplattengröße wird vom
  1042.       Virus als um einen Cluster kleiner deklariert, weshalb nicht auf
  1043.       den eigentlichen Virus zugegriffen werden kann. Wenn von DOS aus
  1044.       auf einen  infizierten Directorysektor  zugegriffen wird, verän-
  1045.       dert der  Virus den  Sektor im  Arbeitsspeicher derart,  daß  er
  1046.       uninfiziert erscheint  (100% Stealtheigenschaften). Der Benutzer
  1047.       merkt also vom Virus nichts, weil der eigentliche Wirt überhaupt
  1048.       nicht verändert wurde, sondern nur dessen Directory-Eintrag! So-
  1049.       lange der  Virus  im  Speicher  ist,  sehen  nämlich  alle  Ver-
  1050.       zeichnisse und Einträge völlig normal aus. Bootet man jedoch von
  1051.       sauberen Diskette  und  schaut  sich  ein  Verzeichnis  auf  der
  1052.       Festplatte an, so haben alle ausführbaren Dateien die Länge 1024
  1053.       Bytes (Anmerkung:  Länge des  Virus) und  zeigen auf die gleiche
  1054.       Datei, nämlich  den Virus,  der sich  am Ende  des  Datenträgers
  1055.       befindet  (s.   o.).  Durch  die  "Cluster"-Technik  kann  diese
  1056.       Virenart nicht  von Checksummenprogrammen  und Monitorprogrammen
  1057.       erfaßt werden!
  1058.  
  1059.       Dieser Virus  ist so  vermehrungsfreudig, daß  er  sich,  einmal
  1060.       resident, bei  bloßen Lesezugriffen  auf nicht schreibgeschützte
  1061.       Disketten kopiert  und dort  in gleicher  Weise den  Datenträger
  1062.       infiziert.  Die   Aliasbezeichnung   "CD   =   Creeping   Death"
  1063.       (schleichender Tod)  ist in diesem Fall sehr treffend! DIR-2 hat
  1064.       sich nach  seiner "Freisetzung"  durch  seine  Autoren  wie  ein
  1065.       Flächenbrand von  Bulgarien aus  durch Osteuropa  über die ganze
  1066.       Welt verbreitet.
  1067.  
  1068.  
  1069.       2.5 Kernel-Viren
  1070.  
  1071.       Diese neue Virenart wurde erstmals im Oktober 1994 im russischen
  1072.       Virus "3APA3A"  entdeckt. Dieser  Virus benützt  einen komplexen
  1073.       Infektionsmechanismus,  jedoch   einen   komplett   neuen.   Wie
  1074.       herkömmliche Bootviren infiziert der Virus Bootsektoren von Dis-
  1075.       ketten auf  die "herkömmliche" Art. Seine Art, die Festplatte zu
  1076.       infizieren, ist  jedoch (noch) einzigartig. Bei Festplatten wird
  1077.       die Datei  IO.SYS bzw.  IBMBIO.COM infiziert, die zum DOS Kernel
  1078.       gehört. Der  Virus erzeugt  hierbei eine Kopie der Datei IO.SYS,
  1079.       die dann  jedoch ein  anderes Attribut (Volumelabel) trägt. Wird
  1080.       DOS gestartet,  wird der  Virus durch  das Ausführen  der  Datei
  1081.       IO.SYS  aktiv.   Weil  der  Virus  nicht  die  Partitionstabelle
  1082.       infiziert und  eine Kopie von IO.SYS als geschützte Volumendatei
  1083.       anlegt, kann der Virus nicht mit FDISK oder SYS entfernt werden.
  1084.  
  1085.  
  1086.  
  1087.       Beschreibung aller Virenarten und Virengattungen       Seite: 17
  1088.  
  1089.       2.6 Dateiviren (Fileviren)
  1090.  
  1091.       Unter  dem  Betriebssystem  MS-DOS  gibt  es  verschiedene  Pro-
  1092.       grammarten (BAT,  COM, EXE,  SYS,  Overlays,  Linklibaries  oder
  1093.       Windowsprogramme),  die  sich  teilweise  erheblich  voneinander
  1094.       unterscheiden. Dateiviren  unterscheiden  deshalb  normalerweise
  1095.       diese Programmarten bei einer Infektion.
  1096.  
  1097.       Man unterscheidet generell zwischen
  1098.  
  1099.            +    überschreibenden Dateiviren und
  1100.            +    sich  anhängenden   Viren  (Linkviren   oder  Prepend-
  1101.             /Appendviren)
  1102.  
  1103.       Eine weitere  genauere Klassifikation  erfolgt weiter unten. Wie
  1104.       schon unter  der  Beschreibung  zu  Bootviren  erwähnt,  ist  es
  1105.       schwierig Hybridviren  und  Systemviren  genau  einer  Kategorie
  1106.       zuzuordnen, weshalb sie hier nochmals aufgeführt werden.
  1107.  
  1108.                          «UNGULTIGES_FELD: Objekt»
  1109.  
  1110.                  Abb.: Verschiedene Klassen von Dateiviren
  1111.  
  1112.  
  1113.       2.6.1 Überschreibende Dateiviren
  1114.  
  1115.       Der Virus  überschreibt  den  Anfang  des  befallenen  Wirtspro-
  1116.       grammes. Das  heißt, daß  das Wirtsprogramm nicht mehr lauffähig
  1117.       ist! Durch  das Überschreiben  ändert sich  die Dateilänge nicht
  1118.       (falls der  Wirt größer  als der  Virus ist).  So ein  Virus ist
  1119.       selten,
  1120.  
  1121.           .  weil er schon bald auffällt, und
  1122.           .  weil bald kein Programm mehr läuft!
  1123.           .  weil er  meistens nicht  speicherresident (= gute Vermeh-
  1124.              rung) ist
  1125.  
  1126.       Aus diesen  Gründen sind  solche Viren  leicht zu entdecken, ein
  1127.       Entfernen aus  dem Wirt ist jedoch durch das Überschreiben nicht
  1128.       mehr möglich!
  1129.  
  1130.       Der am  meisten  verbreitete  überschreibende  Virus  unter  DOS
  1131.       dürfte der  Burger10 (560)  Virus sein.  Die Mini  Viren  (Länge
  1132.       unter 80  Bytes) sind  zwar auch  überschreibend, jedoch so kurz
  1133.       (z. B.  22 Bytes),  daß das  Wirtsprogramm  oft  noch  lauffähig
  1134.       'bleibt'.   Überschreibende    Viren   sind    die    einfachste
  1135.       Virengattung, weshalb  z. B. der erste OS/2-Virus überschreibend
  1136.       ist.
  1137.  
  1138.  
  1139.  
  1140.            Abb.: Infektionsmechanismus von überschreibenden Viren
  1141.  
  1142.  
  1143.  
  1144.  
  1145.  
  1146.       ____________________
  1147.       10Der Buchautor Ralf Burger hat diesen Virus als
  1148.            Assemblerlisting in einem seiner Bücher veröffentlicht!
  1149.  
  1150.  
  1151.       Beschreibung aller Virenarten und Virengattungen       Seite: 18
  1152.  
  1153.       2.6.2 Nicht überschreibende Fileviren (Linkviren)
  1154.  
  1155.       Werden auch  Append-Viren oder  Linkviren genannt.  Sie kopieren
  1156.       sich von  Programm zu  Programm, bis  das ganze System verseucht
  1157.       ist. Das Weiterkopieren geschieht durch Aufruf eines verseuchten
  1158.       Programmes. Von  diesen Viren  merkt man  lange nichts, weil die
  1159.       verseuchten Programme  noch lauffähig  sind!  Die  Lauffähigkeit
  1160.       wird dadurch erreicht, indem sich der Virus
  1161.  
  1162.            + an das  Ende des  Wirtes anhängt  ("to append")  und  den
  1163.              Einsprungspunkt  des   Programmes   auf   den   Virencode
  1164.              "umbiegt" oder
  1165.            + den Wirt  überschreibt und  die am Anfang überschriebenen
  1166.              Programmteile sichert ("to prepend").
  1167.  
  1168.       Nach  erfolgreicher   Infektion  wird  das  Programm  vom  Virus
  1169.       rekonstruiert und  ausgeführt. Ein  Virus, der  beide Arten  an-
  1170.       wendet, ist der Jerusalem Virus. COM-Dateien enthalten den Virus
  1171.       am Programmanfang,  während bei  EXE-Dateien der  Virus am  Ende
  1172.       hängt und  der Einsprungspunkt geändert wurde. Dies ist eine der
  1173.       einfachsten Virengattungen,  ca. 60  Prozent  aller  Viren  sind
  1174.       Link-Viren.
  1175.  
  1176.  
  1177.  
  1178.                  Abb.: Infektionsmechanismus von Linkviren
  1179.  
  1180.  
  1181.  
  1182.       2.7 Companionviren
  1183.  
  1184.       Eine eigene  Gattung sind  die Companionviren  (Begleiter). Eine
  1185.       besondere Eigenschaft  ist, daß  sie  sich  nicht  in  den  Wirt
  1186.       hineinschreiben, sondern sie infizieren ein Wirtsprogramm, indem
  1187.       sie eine neue, eigenständig ausführbare Datei erzeugen, die beim
  1188.       Aufruf aufgrund  gewisser Umstände  vor dem gewünschten Programm
  1189.       oder anstatt  des gewünschten  Programmes ausgeführt wird. Diese
  1190.       Datei enthält  den Virus,  der hinterher  das vom  Benutzer  ge-
  1191.       wünschte Programm aufruft11. Eine beliebte Technik solcher Viren
  1192.       ist es, EXE-Files zu befallen, indem sie im gleichen Verzeichnis
  1193.       eine versteckte  COM-Datei gleichen Namens erzeugen. COM-Dateien
  1194.       werden von COMMAND.COM (ab DOS 3.3) immer vor gleichnamigen EXE-
  1195.       Files ausgeführt,  so daß  der Virus  beim Aufruf  zuerst  aktiv
  1196.       wird. Ein  relativ  neuer  Virus  (Goldbug)  nennt  seine  Wirte
  1197.       einfach um  (EXE-Endung  wird  durch  Leerzeichen  ersetzt)  und
  1198.       erzeugt eine  EXE-Datei, die  beim Starten diesen Vorgang wieder
  1199.       rückgängig macht.
  1200.  
  1201.  
  1202.  
  1203.                Abb.: Infektionsmechanismus von Companionviren
  1204.  
  1205.  
  1206.  
  1207.       ____________________
  1208.       11Dieses Verfahren wird auch von einigen UNIX Viren ausgenützt.
  1209.            Es wird dann z. B. der Programmname "ProgrammXYZ" in
  1210.            ".ProgrammXYZ" (bitte beachten: Punkt ProgrammXYZ)
  1211.            umbenannt, welches durch den ls-Befehl nicht mehr sichtbar
  1212.            ist!
  1213.  
  1214.  
  1215.       Beschreibung aller Virenarten und Virengattungen       Seite: 19
  1216.  
  1217.       Companionviren werden  oft in Hochsprache (PASCAL, BASIC oder C)
  1218.       geschrieben, weil  es fast  unmöglich ist,  einen  Linkvirus  in
  1219.       Hochsprache  zu   schreiben.  Da  diese  Viren  das  eigentliche
  1220.       Wirtsprogramm  völlig   unangetastet  lassen,  ist  es  für  den
  1221.       normalen  Anwender   extrem  schwierig,  solch  einen  Virus  zu
  1222.       entdecken.
  1223.  
  1224.       Insbesondere  Prüfsummen-Software,  die  alle  bisher  genannten
  1225.       Virengattungen finden  würde, könnten  an  dieser  Stelle  keine
  1226.       Veränderungen der  Datei bemerken.  Aufgrund  der  Eigenart  von
  1227.       Companionviren, ihren  Wirt  zu  infizieren,  ist  es  nicht  so
  1228.       einfach,   eine    allgemeingültige   Definition    für    einen
  1229.       Computervirus zu machen.
  1230.  
  1231.       Einige Virenforscher  sehen Companionviren  immer noch nicht als
  1232.       Virus  an!  Nach  meiner  Definition  sind  Companionviren  aber
  1233.       eindeutig Viren, weil sie Betriebssystemabläufe zu ihren Gunsten
  1234.       modifizieren, und zusätzlich sich reproduzieren.
  1235.  
  1236.       Ein Beispiel für einen Companion-Virus ist "Little Brother" oder
  1237.       "ACME"
  1238.  
  1239.  
  1240.       2.8 Trojanische Pferde, Dropper und Scherzprogramme
  1241.  
  1242.       2.8.1 Trojaner (trojans)
  1243.  
  1244.       Ein trojanisches  Pferd (Trojaner)  ist  ein  Programm,  welches
  1245.       vorgibt, zum einen eine nützliche Funktion zu haben, zum anderen
  1246.       aber nach  dem Aufruf  eine unerkannte  unzulässige Nebenwirkung
  1247.       durchführen.
  1248.  
  1249.       Die meisten  Trojaner sind  Programme, die  unmittelbar nach der
  1250.       Ausführung aktiv  werden und  z. B.  die Platte formatieren oder
  1251.       sonstwie Daten  durcheinanderbringen  (vgl.  "Logische  Bombe").
  1252.       Trojaner haben  nicht die  Fähigkeit, sich zu vermehren, was sie
  1253.       von Viren  und Würmern  unterscheidet, sind  jedoch weitaus zer-
  1254.       störerischer als die meisten Computerviren.
  1255.  
  1256.       Trojanische Pferde  haben oft  einen  einladenden  Programmnamen
  1257.       (ARJ, SCAN,  LESBOSEX,  MANDY,  RUNME  oder  PORNO);  vgl.  auch
  1258.       Namensvetter. Diese  Programme sind  sehr rar,  es  wurden  erst
  1259.       wenige Fälle  weltweit bekannt. Trojanische Pferde sind meistens
  1260.       in Hochsprache  geschrieben und  mit  'Online-Komprimierer'  ge-
  1261.       packt, um eine Analyse/Entdeckung zu erschweren!
  1262.  
  1263.       2.8.1.1 Namensvettern (spoofing programs)
  1264.       Namensvettern  sind   Trojanische  Pferde,   die   durch   ihren
  1265.       Dateinamen den Anwender verleiten, das Programm auszuführen.
  1266.  
  1267.  
  1268.  
  1269.  
  1270.  
  1271.  
  1272.  
  1273.  
  1274.  
  1275.  
  1276.  
  1277.  
  1278.  
  1279.       Beschreibung aller Virenarten und Virengattungen       Seite: 20
  1280.  
  1281.  
  1282.       Folgende Tabelle  zeigt ein  paar populäre Programme, die jedoch
  1283.       Trojanische Pferde sind:
  1284.  
  1285.  
  1286.          Flushot           Version 4
  1287.  
  1288.          Flushot Plus      Version 1.3
  1289.  
  1290.          Virus SCAN        Versionen 51,  65, 68, 70 und
  1291.                            72
  1292.  
  1293.                 Tabelle: Einige Beispiele für Namensvettern
  1294.  
  1295.  
  1296.       2.8.1.2 Dropper
  1297.       Eine spezielle  Art eines  Trojaners ist  ein Dropper (to drop =
  1298.       fallen lassen). Ein Dropper, der meistens verschlüsselt ist, in-
  1299.       stalliert einen Virus als Dateivirus oder überschreibt z. B. den
  1300.       Bootsektor einer  Diskette mit einen Bootvirus. Ein Dropper kann
  1301.       sich nicht vermehren, jedoch der vom Dropper installierte Virus!
  1302.  
  1303.       2.8.2 Logische Bomben (bombs)
  1304.  
  1305.       Eine logische  Bombe  ist  eine  Spezialart  eines  Trojanischen
  1306.       Pferdes. Logische  Bomben sind  lauffähige Programmteile, die in
  1307.       einen nützlichen  Code eingebettet sind und aus einem "Auslöser"
  1308.       (engl. trigger) und einer "Nutzlast" (engl. payload) bestehen.
  1309.  
  1310.       Ihre zerstörerischen  Funktionen werden  eine gewisse  Zeit lang
  1311.       überhaupt nicht  aufgerufen. Später, wenn irgend eine Triggerbe-
  1312.       dingung erfüllt  ist (z.  B. ist  ein bestimmtes  Datum erreicht
  1313.       oder das  Programm 100  mal aufgerufen  wurde), "explodiert" die
  1314.       Bombe und ruft ihre Zerstörungsfunktion auf.
  1315.  
  1316.       Im erweiterten Sinn kann man auch den zerstörerischen Teil eines
  1317.       Virus als  logische Bombe  bezeichnen, wenn  der Virus  auf  die
  1318.       Erfüllung seiner  Triggerbedingung  wartet,  um  dann  aktiv  zu
  1319.       werden, z. B. Löschen von Programmen am Freitag, den 13 ten oder
  1320.       wie beim  Michelangelo Virus,  das Formatieren der Festplatte am
  1321.       6. März. Es gibt auch Trojanische Pferde und Viren, die harmlose
  1322.       Programme so  abändern, das  aus diesen Programmen eine logische
  1323.       Bombe wird! Beispiele hierfür sind mehrere MMIR-Viren.
  1324.  
  1325.       2.8.2.1 Zeitbombe (time bomb)
  1326.       Wird die  Ausführung der  logischen Bombe  an eine Zeitbedingung
  1327.       gekoppelt, spricht man auch von einer Zeitbombe.
  1328.  
  1329.       Sharewareprogramme, die  z. B. die 30 tägige Testphase erlauben,
  1330.       haben so gesehen eine Zeitbombe einprogrammiert.
  1331.       2.8.3 Scherzprogramme (jokes)
  1332.  
  1333.       Sie sollen  lediglich jemanden  erschrecken und  zur allgemeinen
  1334.       Belustigung dienen,  ohne schädlich zu sein (vgl. Trojaner) oder
  1335.       sich selbst zu vermehren. Meist fängt der Computer nach dem Auf-
  1336.       ruf eines Scherzprogramms irgendwann an, eine Melodie zu spielen
  1337.       oder sonst  etwas Ungewohntes  auf  dem  Bildschirm  anzuzeigen.
  1338.       Scherzprogramme haben  gemeinsam, daß  sich  das  Computersystem
  1339.       abnormal  verhält,  wenn  ein  Scherzprogramm  aktiv  ist  (vgl.
  1340.  
  1341.  
  1342.  
  1343.       Beschreibung aller Virenarten und Virengattungen       Seite: 21
  1344.  
  1345.       Softwareanomalien).  Gerade   Computerneulinge   bekommen   -bei
  1346.       Aktivierung des  Scherzprogrammes- einen  gehörigen Schreck oder
  1347.       richten in  Panik und  Unwissenheit sogar  tatsächlichen Schaden
  1348.       an.  Ferner   kann  es   durch  unsaubere   Programmierung   des
  1349.       Scherzprogrammes zu ungewollten Seiteneffekten kommen.
  1350.  
  1351.       Es gibt  jedoch auch  Scherzprogramme, die  von Hackern  in Tro-
  1352.       janischen Pferde umgewandelt wurden (z.B.: der SLOD-Trojan). Der
  1353.       Cascade-Virus  (Herbstlaub)   entstand   ebenfalls   aus   einem
  1354.       Scherzprogramm, dem Programm "FALLDOWN".
  1355.  
  1356.  
  1357.       2.9 Viren, die noch nicht aufgetreten sind
  1358.  
  1359.       Der nachfolgende  Abschnitt beschreibt  einige "Virenarten", die
  1360.       noch nicht  entdeckt wurden  oder einfach  nur Mythen  sind, die
  1361.       sich hartnäckig halten.
  1362.  
  1363.       2.9.1 Geisterviren
  1364.  
  1365.       Geisterviren   sind    Viren,    die    von    Antivirensoftware
  1366.       fälschlicherweise gefunden werden.
  1367.  
  1368.       Hierzu gibt es verschiedene Gründe:
  1369.  
  1370.       +    Ein Virensuchprogramm  hinterläßt seine Sucherkennungen un-
  1371.        verschlüsselt im  Speicher. Das  Konkurrenzprodukt, welches die
  1372.        gleichen Erkennungen  verwendet, findet  beim  Durchsuchen  des
  1373.        Arbeitsspeichers jetzt einen "Geistervirus" (z. B. TSAFE, VSAFE
  1374.        oder VDEFEND).
  1375.       +    Ein Programm  wurde mit  einem  selbstüberprüfenden  Viren-
  1376.        schutz versehen,  der für  ein Virensuchprogramm  wie ein Virus
  1377.        aussieht  (z.   B.  TNT-Virus,   F-XLOCK  oder   VSS).   Gerade
  1378.        regelbasierende Virensuchprogramme  melden  oft  einen  solchen
  1379.        Selbstschutz als  verdächtig an,  weil  dieser  vom  Codeaufbau
  1380.        ähnliche Strukturen wie ein Dateivirus besitzt.
  1381.       +    Wenn eine  verseuchte Diskette  unter DOS  mittels des  DIR
  1382.        Befehles betrachtet  wird: DOS  speichert  den  Bootsektor  der
  1383.        zuletzt eingelegten  Diskette  aus  Performancegründen  im  Ar-
  1384.        beitsspeicher  zwischen.  Das  Virensuchprogramm  findet  jetzt
  1385.        einen Geistervirus  im niedrigen Arbeitsspeicher, obwohl dieser
  1386.        Virus tatsächlich nie aktiv ist, sondern nur im Diskettenpuffer
  1387.        zwischengespeichert  wurde!   Beim  nächsten   Einlegen   einer
  1388.        virenfreien Diskette  oder nach  einem Kaltstart  ist der Virus
  1389.        durch die neuen Daten überschrieben worden.
  1390.  
  1391.       2.9.2 "Hide and Seek" Viren
  1392.  
  1393.       Das sind  Viren, die  sich nur  eine gewisse  Zeit innerhalb des
  1394.       Systems aufhalten. Als Verstecke könnten beispielsweise die Puf-
  1395.       ferbereiche intelligenter  Terminals oder DFÜ-Einrichtungen die-
  1396.       nen.
  1397.  
  1398.       2.9.3 "Call" Viren
  1399.  
  1400.       Diese Viren  verändern unter Umständen nur ein einziges (!) Byte
  1401.       am Wirtsprogramm.  Der eigentliche  Virus wird im Massenspeicher
  1402.       abgelegt und  wird lediglich  durch den  Aufruf des  infizierten
  1403.       Programms aktiviert.  Der "Nachteil"  dieser Art  von Viren  ist
  1404.       aber, daß  beim Fehlen  des eigentlichen Virusprogrammes auf dem
  1405.  
  1406.  
  1407.       Beschreibung aller Virenarten und Virengattungen       Seite: 22
  1408.  
  1409.       externen Massenspeicher  die infizierten  Programme  nicht  mehr
  1410.       lauffähig sind!  Eine Verwendung  im PC-Bereich  ist  mir  nicht
  1411.       bekannt. Der  weiter oben  beschriebene DIR-II  Virus  (Cluster-
  1412.       Virus) verwendet vom Prinzip her eine ähnliche Taktik!
  1413.  
  1414.       2.9.4 Gepufferte Viren
  1415.  
  1416.       Das sind  Viren, die  sich ins  batteriegepufferte RAM einnisten
  1417.       und ähnliche  Eigenschaften wie Hardware Viren haben. Durch Ent-
  1418.       fernen der  Pufferbatterie sind diese Viren leicht zu entfernen!
  1419.       Es muß  jedoch damit  gerechnet werden,  daß sich  die Viren von
  1420.       infizierten Programmen  aus beim  erneuten Starten  des  Systems
  1421.       wieder ins  gepufferte RAM  installieren. Ein typisches Beispiel
  1422.       hierfür sind Viren für den Amiga.
  1423.  
  1424.       Hinweis: Es herrscht oft die falsche Annahme, Viren könnten sich
  1425.       im CMOS  von PCs  einnisten, was  aber grundsätzlich falsch ist!
  1426.       Das CMOS  kann nur  Daten speichern,  jedoch keinen ausführbaren
  1427.       Maschinencode!
  1428.  
  1429.       2.9.5 Hardware Viren
  1430.  
  1431.       Diese Art  von Viren  ist zur Zeit noch nicht existent, weil sie
  1432.       nur durch Veränderung der Hardware ins System eingebracht werden
  1433.       können. Beispiel: Austausch eines Boot-ROMs. Diese Art von Viren
  1434.       ist zwar recht schwierig zu installieren, aber sehr effektiv, da
  1435.       sie sehr  schwer ausmachbar  ist. Es muß jedoch beachtet werden,
  1436.       das  dies   keine   Softwaremanipulation   ist,   sondern   eine
  1437.       Hardwaremanipulation! Der  Virus "BIOS Menegetis" ist von seiner
  1438.       Eigenschaft am ehesten als Hardwarevirus einzuordnen.
  1439.  
  1440.       2.9.6 "Virus Desinformaticus"
  1441.  
  1442.       Die meisten  Computeranwender sind  schon einmal  mit dem  Thema
  1443.       "Viren" über  die Presse,  durch den Rundfunk, von Freunden oder
  1444.       auch  durch  entsprechende  Software  konfrontiert  worden.  Die
  1445.       Medien  verstehen   es,  dieses   Thema  publikumswirksam   auf-
  1446.       zubauschen,  jedoch   nutzbare   Informationen   werden   selten
  1447.       weitergegeben. Viel  schlimmer noch, die meisten Anwender werden
  1448.       dadurch regelrecht  verunsichert. In  unüberlegten Aktionen  und
  1449.       durch nicht  vorhandenes Wissen  werden  mehr  Daten,  Zeit  und
  1450.       letztlich Geld  zerstört, als  es je  ein  Virus  könnte.  Viele
  1451.       Benutzer wissen deshalb nicht, welche Folgen eine Vireninfektion
  1452.       des Computers  haben kann  und wie  sie sich bei einer Infektion
  1453.       verhalten sollen oder sich davor schützen können. Deshalb ist es
  1454.       bitter   nötig,    ein   Bewußtsein    für   Viren   unter   den
  1455.       Computeranwendern zu schaffen.
  1456.  
  1457.       Für "Hygienehinweise"  und  Disziplinmaßnahmen  zum  Umgang  mit
  1458.       Computerviren  sowie   zur  Auswahl   von  geeigneter  Antiviren
  1459.       Software möchte  ich auf folgende Literatur verweisen: [Esch93],
  1460.       [FAQG93], [FAQL92] und [PB92].
  1461.  
  1462.  
  1463.       ─══[  3 VERSCHIEDENE "ATTRIBUTE" VON VIREN  ]════════════════════─
  1464.  
  1465.  
  1466.       In diesem  Kapitel möchte  ich die  verschiedenen Attribute  von
  1467.       Computerviren näher  erläutern. Komplexere  Viren machen oft von
  1468.  
  1469.  
  1470.  
  1471.       Beschreibung aller Virenarten und Virengattungen       Seite: 23
  1472.  
  1473.       mehreren Attributen  Gebrauch,  um  sich  dadurch  erfolgreicher
  1474.       vermehren zu können.
  1475.  
  1476.  
  1477.       3.1 Unterscheidung nach Infektionsmechanismus
  1478.  
  1479.       3.1.1 Direct action-Viren
  1480.  
  1481.       Diese Virenart  installiert sich  beim Aufruf  nicht resident im
  1482.       Speicher,  belegt   also  auch  keinen  Speicherplatz.  Vielmehr
  1483.       durchsucht der  Virus direkt  beim Ausführen  die Laufwerke  und
  1484.       Verzeichnisse,   für    die   er    programmiert   wurde,   nach
  1485.       Wirtsprogrammen und  versucht, diese  sofort zu  infizieren. Man
  1486.       unterscheidet grob folgende Suchverfahren:
  1487.  
  1488.              +  im aktuellen Verzeichnis (current directory)
  1489.              +  'Dot  Dot'-Methode  (rekursiv  im  nächsthöheren  Ver-
  1490.                 zeichnis -> CD ..)
  1491.              +  über die Variable PATH
  1492.              +  zufällige Verzeichniswahl
  1493.  
  1494.       Danach läuft  das Programm,  welches eigentlich gestartet werden
  1495.       sollte, ganz  regulär ab.  Solche Viren  brauchen  keine  Inter-
  1496.       ruptvektoren  zu  verbiegen  und  sind  von  einigen  residenten
  1497.       Wächterprogrammen, die  nur Interruptvektoren kontrollieren oder
  1498.       überprüfen, ob  sich ein  Virus im  Speicher einnistet, nicht zu
  1499.       entdecken. Sie verraten sich aber oft durch lange Zugriffszeiten
  1500.       bei sonst recht schnell aufgerufenen Programmen, weil das Suchen
  1501.       nach Wirtsprogrammen  mitunter recht  lange  dauert.  Oft  haben
  1502.       solche Viren  überhaupt keine  Fehlerbehandlung und  fallen dann
  1503.       auf, wenn  z. B.  ein Schreibschutzfehler bei schreibgeschützten
  1504.       Disketten auftritt.
  1505.  
  1506.       "Direct-action"-Infektoren können  keine herkömmlichen  Stealth-
  1507.       Techniken ausnutzen,  weil dazu  der Virus  resident im Speicher
  1508.       sein muß.  Die  einzigen  Stealthfunktionen,  die  solche  Viren
  1509.       tragen können,  sind das  Ausschalten von Wächterprogrammen, das
  1510.       Benützen von SFT (s. u.) oder Tunneln. Beispiele für "Direct-Ac-
  1511.       tion"-Viren sind  der Vienna, Danish.Tiny und VBasic-Virus sowie
  1512.       praktisch alle  Viren mit  einer Größe  unter 180  Bytes. Solche
  1513.       Viren sind  relativ einfach  zu programmieren,  weshalb sie  die
  1514.       Mehrzahl der Viren darstellen!
  1515.  
  1516.       3.1.2 Speicherresidente Viren (TSR)
  1517.  
  1518.       Bei dieser  Virengattung handelt  es sich  fast  ausnahmslos  um
  1519.       Linkviren, die  sich als TSR (TSR = Terminate but stay resident)
  1520.       permanent  im  Speicher  installieren  und  Funktionen  von  DOS
  1521.       übernehmen, überwachen  und entsprechend  manipulieren  oder  um
  1522.       Bootviren, die Sektorzugriffe manipulieren. Hierzu werden entwe-
  1523.       der Interruptvektoren  verbogen ("Interrupt-Hooking"),  oder der
  1524.       Virus  deklariert   sich  als  Bestandteil  des  Betriebssystems
  1525.       selbst. Viren,  die sich  resident im  Speicher befinden, können
  1526.       ihre potentiellen  Wirte auf  wirkungsvollere Weise  attackieren
  1527.       als "Direct-action"-Infektoren,  weshalb die  bekanntesten Viren
  1528.       fast alle  speicherresident sind.  So können  sie z.  B. gewisse
  1529.       Stealth-Techniken ausnützen  (siehe "Stealthviren"). Die meisten
  1530.       warten nur  darauf, daß der Anwender eine potentielle Wirtsdatei
  1531.       startet, um  sie im  selben Moment zu infizieren. Oft wird dabei
  1532.       der "Critical-Error-Handler" (Fehlerbehandlung) von DOS ersetzt,
  1533.  
  1534.  
  1535.       Beschreibung aller Virenarten und Virengattungen       Seite: 24
  1536.  
  1537.       damit bei  mißlungener Infektion  (z. B. aufgrund eines Schreib-
  1538.       schutzes bei Disketten) keine Fehlermeldung erscheint. TSR Viren
  1539.       erzeugen meistens  jedoch Nebeneffekte,  weil diese Virenart mit
  1540.       anderer Software interferiert.
  1541.  
  1542.       3.1.2.1 Unterscheidung der TSR-Viren nach Speicherbelegungs-
  1543.       strategien
  1544.       Es gibt verschiedene Plätze im Speicher, in denen sich unter DOS
  1545.       Viren einnisten. Folgende Bezeichnungen sind gebräuchlich:
  1546.  
  1547.           + TOM
  1548.           + Systemholes
  1549.           + MCB
  1550.           + HMA
  1551.           + UMB
  1552.  
  1553.       3.1.2.1.1 TOM (Top Of Memory)
  1554.       Diese Virengattung  dekrementiert den  TOM-Zeiger (TOM  = Top Of
  1555.       Memory, ist  normalerweise  640  KB),  der  die  Obergrenze  des
  1556.       konventionellen DOS-Speichers  angibt, und  installiert sich  in
  1557.       dem Bereich,  der dann  für DOS  nicht mehr  belegt wird.  Diese
  1558.       Technik wird  von vielen  Dateiviren  (G2  &  PS_MPC)  und  fast
  1559.       ausschließlich  von   allen  Bootviren   verwendet   (Ausnahmen:
  1560.       Horse.Boot und Hybrid-Viren). Man erkennt den fehlenden Speicher
  1561.       daran, daß beim CHKDSK für den "Konventionellen Arbeitsspeicher"
  1562.       nicht mehr  640 KB  (655360 Bytes), sondern ein niedrigerer Wert
  1563.       angezeigt wird.  Dies ist  aber noch  kein sicheres  Zeichen für
  1564.       eine Infektion,  da manche  Rechner diesen Bereich als BIOS oder
  1565.       SCSI Stack-Bereich  benutzen. Trotzdem sollte man in diesem Fall
  1566.       sehr vorsichtig sein.
  1567.  
  1568.       3.1.2.1.2 Systemholes (Systemlöcher)
  1569.       Diese    Virengattung     sucht    nach     nicht    verwendeten
  1570.       Speicherbereichen  im   DOS-Kernel   oder   anderen   residenten
  1571.       Programmen (COMMAND.COM)  und kopieren  sich dort  hinein. Diese
  1572.       verändern die  Größe des  freien Speichers  nicht,  wodurch  sie
  1573.       schwierig zu  finden sind.  Solche Viren sind jedoch oft an eine
  1574.       bestimmte DOS-Version  gebunden. Viele,  sehr kurze Viren nisten
  1575.       sich  auch  in  anderen  Löcher  des  Arbeitsspeicher  ein.  Als
  1576.       Beispiel sei  hier der  obere Teil der Interrupttabelle oder der
  1577.       ungenutzte Videospeicher genannt.
  1578.  
  1579.       3.1.2.1.3 MCB (Memory Control Blocks)
  1580.       DOS verwendet  intern MCB's  zur eigenen Speicherverwaltung, die
  1581.       auch vom  Anwendungsprogramm angefordert  werden können.  Viren,
  1582.       die MCB benützen, installieren sich als TSR im normalen Speicher
  1583.       zwischen 0  und 640  KB. Diese  kann  man  unter  Umständen  mit
  1584.       Speicher-Map-Utilities wie  z. B.  MEM von  DOS,  Resident  oder
  1585.       MapMem entdecken.  Fast alle  Viren "entfernen"  den anforderten
  1586.       MCB aus  der MCB-Kette und markieren diesen als DOS-Bestandteil,
  1587.       um eine  Entdeckung zu  erschweren.  Modernere  Viren  versuchen
  1588.       jedoch einen  MCB im hohen Speicher anzufordern (s.u.), der dann
  1589.       über der magischen 640 KB Grenze liegt.
  1590.  
  1591.       3.1.2.1.4 HMA und UMB
  1592.       Eine weitere  Möglichkeit für  TSR-Viren ist,  sich resident  in
  1593.       sogenannte UMBs  (Upper Memory  Blocks) oder  in die  HMA  (High
  1594.       Memory Area) zu installieren. Aus diesem Grunde sollte man diese
  1595.       Speicherbereiche immer mituntersuchen lassen. Diese Methode wird
  1596.  
  1597.  
  1598.  
  1599.       Beschreibung aller Virenarten und Virengattungen       Seite: 25
  1600.  
  1601.       immer beliebter,  weil  heute  fast  jeder  Rechner  über  hohen
  1602.       Arbeitsspeicher (HMA & UMB) verfügt.
  1603.  
  1604.  
  1605.       3.2 Unterscheidung nach Infizierungsgeschwindigkeit
  1606.  
  1607.       Man kann  hier auch  noch  zwischen  den  Infizierungsarten  un-
  1608.       terscheiden, die  sich dann  in der  Vermehrungsfreudigkeit  des
  1609.       Virus bemerkbar  machen. Hinter  der Infizierungsgeschwindigkeit
  1610.       steht die  "Philosophie" des  Virenautors. Es wird grob zwischen
  1611.       folgenden Arten unterschieden:
  1612.  
  1613.           + Normale Infizierung
  1614.           + Schnelle Infizierung
  1615.           + Langsame Infizierung
  1616.           + Spärliche Infizierung
  1617.  
  1618.       Die  Infizierungsgeschwindigkeit   wird   unabhängig   von   dem
  1619.       Infektionsmechanismus betrachtet.
  1620.  
  1621.       3.2.1 Normale Infizierung
  1622.  
  1623.       Eine  Infizierung  erfolgt  gewöhnlicherweise  bei  Programmaus-
  1624.       führung12 oder  beim Öffnen des Wirtes. Dies ist die gewöhnliche
  1625.       Verbreitungsart der meisten Viren.
  1626.  
  1627.       3.2.2 Schnelle Infizierung (Fast-Infector)
  1628.  
  1629.       Es gibt  Viren, die  jede  aus  irgendeinem  Grunde  geöffnete13
  1630.       ausführbare Datei  infizieren oder  z. B. schon beim Lesen eines
  1631.       Verzeichnisses darin  vorhandene Wirtsprogramme  infizieren.  So
  1632.       infiziert der  DIR-Virus Dateien  nur  bei  Anwendung  des  DOS-
  1633.       Befehles DIR  oder der  Lawine Virus  zusätzlich bei  einem Ver-
  1634.       zeichniswechsel. Diese Virenart wird "Fast Infector", (schneller
  1635.       Infektor) genannt, weil sie sich mit rasanter Geschwindigkeit in
  1636.       infizierten Systemen ausbreitet. Durchsucht man zum Beispiel die
  1637.       Platte mit  einem Virenscanner,  der den Virus nicht im Speicher
  1638.       erkennt und  den Suchvorgang daher nicht abbricht, so wird durch
  1639.       das Scannen  jede untersuchte  Datei infiziert! Ein Beispiel für
  1640.       einen "Fast Infector" sind der "Dark Avenger" (welcher der erste
  1641.       war,  der   diese  Technik   verwendete),  Frodo,   DIR-II  oder
  1642.       "Tiny.CPP".
  1643.  
  1644.       3.2.3 Langsame Infizierung (Slow-Infector)
  1645.  
  1646.       Eine weitere  Variante von  TSR-Viren sind die "slow infectors",
  1647.       die "langsamen  Infektoren". Ihre  große Gefahr liegt darin, daß
  1648.       sie selbst  einen ansonsten  "narrensicheren"  Schutzmechanismus
  1649.       eines Integrität-Prüfers, eines Wächterprogrammes oder sogar den
  1650.       eines Hardwareschutzes  umgehen können.  Diese Viren  infizieren
  1651.       eine Wirtsdatei nur dann, wenn der Benutzer absichtlich in diese
  1652.       Datei schreibt,  etwas löscht  oder ein  Programm   z. B.  durch
  1653.       Kompilation neu  erzeugt oder sonstwie modifiziert. Dadurch kön-
  1654.       nen Veränderungen  ausführbarer  Dateien  von  Wächterprogrammen
  1655.       nicht mehr  als illegal erkannt werden, weil der Benutzer ja die
  1656.       ____________________
  1657.       12Hierzu wird -unter DOS- meistens die EXEC-Funktion 21h/AH=4Bh
  1658.            vom Virus kontrolliert.
  1659.       13Der Virus kontrolliert hierzu die FileOpen-Funktion von DOS,
  1660.            z. B. 21h/AH=6Ch oder AH=3Ch
  1661.  
  1662.  
  1663.       Beschreibung aller Virenarten und Virengattungen       Seite: 26
  1664.  
  1665.       befallene Datei  selbst verändert hat. Ein neuer Virentyp dieser
  1666.       Gattung ist  z. B.  der "Objective"-Virus,  der sich nur bei der
  1667.       Erzeugung  von   COM  Programmen   aus  Objektdateien  vermehrt.
  1668.       Anmerkung: Viele der EXE-Headerviren (s.o.) sind Slow-Infectors.
  1669.  
  1670.       3.2.4 Spärliche Infizierung (Sparse)
  1671.  
  1672.       "Slow Infectors"  vermehren sich,  wie der Name schon sagt, sehr
  1673.       langsam. Dem  Benutzer fällt somit das Vorhandensein eines Virus
  1674.       im System  deshalb kaum  auf. Auch  sind Viren  so  programmiert
  1675.       worden, daß  sie nur  zu bestimmten  Zeiten aktiv  werden (z. B.
  1676.       Infizierung nur  an Sonntagen,  nur im  Herbst oder erst nach 17
  1677.       Uhr usw.).  Die Eigenschaft,  sich nur zu bestimmten Ereignissen
  1678.       zu vermehren,  bezeichnet man als "Sparse". Ein Beispiel ist der
  1679.       Toni Virus,  der am  Monatsersten nur Dateien infiziert, die mit
  1680.       "A" anfangen, am zweiten Tag Dateien, die mit "B" beginnen usw.
  1681.  
  1682.  
  1683.       3.3 Tarnkappenviren und Tarnmethoden
  1684.  
  1685.       3.3.1 Stealthviren
  1686.  
  1687.       Die Stealthviren gehören zur sogenannten 4. Generation der Viren
  1688.       und stellen eine der gefährlichsten Gattungen dar.
  1689.  
  1690.       Stealthviren werden  oft auch  als  Tarnkappenviren  bezeichnet,
  1691.       weil er  für den  Anwender nicht  sichtbar ist. Ein Stealthvirus
  1692.       besitzt die  Eigenschaft, sämtliche  Dateizugriffe zu überwachen
  1693.       und entsprechend  zu manipulieren. Die Manipulation besteht auch
  1694.       darin, beim  Öffnen einer  infizierten Datei den vom Virus infi-
  1695.       zierten Programmteil herauszufiltern. Mittels dieser Taktik wird
  1696.       selbst einem  Virensuchprogramm eine  unverseuchte Datei  sugge-
  1697.       riert, mit  dem Ergebnis, daß kein Virus gefunden wird, wenn der
  1698.       Stealthvirus aktiv  ist. Man  spricht hier  von  "Pure-Stealth"-
  1699.       Viren (100%  Stealthviren)  und  "disinfect  on  the  fly"  ("im
  1700.       Vorbeiflug desinfizieren").  Ein Längenzuwachs  infizierter  Da-
  1701.       teien mittels des DIR Befehles ist NICHT erkennbar! Stealthviren
  1702.       sind typisch für das Betriebssystem DOS!
  1703.  
  1704.       Es gibt  Stealthviren, die  Bootsektoren (z.  B.  Natas,  Brain,
  1705.       Stoned III),  Partitionssektoren (z.  B. Natas,  Tequila, Parity
  1706.       Check) und/oder  Dateien (z.  B. Natas, 4096, Holocaust, Tremor,
  1707.       Neuroquila, Lockout oder Pure) befallen!
  1708.  
  1709.       3.3.2 Dir-Stealthviren
  1710.  
  1711.       Dir-Stealthviren14 sind meistens nicht -wie z. B. die Stealthvi-
  1712.       ren- in  der Lage,  den Virencode  aus dem  Infizierten Programm
  1713.       "herauszufiltern". Eine  Längenänderung  ist  jedoch  nicht  er-
  1714.       kennbar (z.  B.  mit  DIR).  Die  sogenannten  Slackbereichviren
  1715.       (LeHigh &  ZeroHunt) werden  ebenfalls zu  den  Dir-Stealthviren
  1716.       gezählt, weil für den Anwender ein Längenzuwachs NICHT erkennbar
  1717.       ist!   Der    Unterschied   besteht   darin,   daß   mit   einem
  1718.       Checksummenprogramm  bei  aktivem  Virus  dieser  erkannt  wird,
  1719.       während   "echte"   Stealthviren   selbst   Checksummenprogramme
  1720.       umgehen! Beispiele: ZeroHunt, Diamond oder Dark Avenger III.
  1721.  
  1722.  
  1723.       ____________________
  1724.       14Eine andere Bezeichnung ist auch FCB-Stealth
  1725.  
  1726.  
  1727.       Beschreibung aller Virenarten und Virengattungen       Seite: 27
  1728.  
  1729.       3.3.3 Tunneln (Tunneling)
  1730.  
  1731.       Mit "tunnelnden"  Viren bezeichnet  man eine  Gruppe Viren,  die
  1732.       versuchen, residente  Monitorprogramme (z.B.:  SDRES oder VSAFE)
  1733.       zu umgehen.  Diese Monitorprogramme erkennen unter anderem, wenn
  1734.       illegal  Interrupts   aufgerufen   werden   oder   eine   andere
  1735.       virentypische Aktion  durchgeführt  wird  und  warnen  dann  den
  1736.       Benutzer. Hierzu  binden sie  sich, ähnlich  wie Viren,  in  die
  1737.       überwachende Interrupts  ein15. Anschließend  warten  auf  einen
  1738.       Interruptaufruf,  den   sie  dann  zurückverfolgen  können.  Ein
  1739.       tunnelnder Virus  verfolgt nun  innerhalb des Speichers den Weg,
  1740.       den ein  Interruptaufruf nehmen würde, und sucht auf diese Weise
  1741.       im BIOS  bzw.  im  DOS-Kernel  nach  dem  Anfang  des  Original-
  1742.       Interrupthandlers. Hat  er ihn  gefunden, ruft  er diese Adresse
  1743.       direkt auf16. Dadurch wird das Wächterprogramm umgangen, und der
  1744.       Virus hat sein Ziel erreicht. Der erste Virus, der diese Technik
  1745.       verwendete, war  der Yankee  Doodle (1989), der damit das eigene
  1746.       Wächterprogramm (VACSINE) des gleichen Autors umging!
  1747.  
  1748.       Man kann  sich diese  Technik wirklich  bildlich vorstellen:  Um
  1749.       eine Festung zu erstürmen, wird ein Tunnel gegraben, um dann von
  1750.       innen angreifen  zu können.  Man kann  also tunnelnde  Viren  im
  1751.       weiteren  Sinne   zu  den   Stealthviren  rechnen.  Die  meisten
  1752.       Stealthviren  verwenden   deshalb  auch   diesen  Techniken,  um
  1753.       Wächterprogramme umgehen zu können.
  1754.  
  1755.       Diese Technik,  das sogenannte  "Interrupt  Tracing",  wird  von
  1756.       guten residenten  Monitoren  mittels  spezieller  Methoden  ver-
  1757.       hindert. Sehr  viele jedoch können so umgangen werden. Neben dem
  1758.       Interrupt Tracing  gibt es  weitere sehr effektive Tunneltricks.
  1759.       Eine sehr  fortgeschrittene Technik  benützt das  Programm  MBR-
  1760.       Kill, das  eine sogenannte  Emulation-Engine besitzt  und  damit
  1761.       fast alle  Programme und  Viren umgehen  kann, die das "normale"
  1762.       Tunneln abfangen  können! Weitere  Techniken will  ich hier noch
  1763.       kurz erwähnen:  die Benutzung  eines undokumentierten Multiplex-
  1764.       Aufrufes, der die Einsprungsadresse des original Disk-Interrupt-
  1765.       Handlers im BIOS frei Haus liefert17, das Verwenden des von kaum
  1766.       einem  Monitorprogramm  überwachten  Dateihandles  CON  und  das
  1767.       Ersetzen  des   Block-Device-Treibers  für  die  Laufwerke.  Die
  1768.       weiteren Methoden werden weiter unten detailliert beschreiben.
  1769.  
  1770.       Anzumerken ist,  daß auch  viele Viren Monitorprogramme erkennen
  1771.       können und  teilweise deaktivieren  oder entfernen. So werden z.
  1772.       B. die  Programme VSAFE & TSAFE von jedem besseren Virus deakti-
  1773.       viert!
  1774.  
  1775.       3.3.4 System File Table (SFT) Techniken
  1776.  
  1777.       Wenn ein Virus versucht, ein Wirtsprogramm zu infizieren, so muß
  1778.       er hierzu die Schreiberlaubnis besitzen. Dieser Umstand wird von
  1779.       vielen Wächterprogrammen  ausgenützt, um  virentypische Aktionen
  1780.       erkennen zu können.
  1781.  
  1782.  
  1783.       ____________________
  1784.       15Meistens handelt es sich um die Interruptes 01h, 09h, 13h,
  1785.            15h, 21h, 2Fh und 40h, siehe auch [Brow44].
  1786.       16Siehe auch Anmerkungen zur Tunnelroutine des Programmes MBR-
  1787.            Kill.
  1788.       17Diese Technik benützt das Programm MBR-Kill ebenfalls!
  1789.  
  1790.  
  1791.       Beschreibung aller Virenarten und Virengattungen       Seite: 28
  1792.  
  1793.       Es gibt  jedoch einen Trick, solche Wächterprogramme zu umgehen,
  1794.       indem die  zu infizierende  Datei im Lesemodus geöffnet wird und
  1795.       intern (im  Arbeitsspeicher) Systemdaten  vom Virus  so geändert
  1796.       werden, daß der Zugriffsmodus auf "Schreiben" gesetzt wird. Dies
  1797.       kann sehr  elegant durch  die sogenannten System File Tables von
  1798.       MS-DOS erfolgen.  Alle mir  bekannten Wächterprogramme können so
  1799.       umgangen werden!  Ein weiterer  "Vorteil" von der Verwendung von
  1800.       SFT ist,  daß einige  Dateizugriffe vermieden werden können, was
  1801.       zu einem sehr schnellen Infizieren führt!
  1802.  
  1803.       3.3.5 Cavity Viren
  1804.  
  1805.       Unter Cavity-Viren  versteht man  Viren, die in einem Wirt einen
  1806.       Bereich suchen,  der aus  lauter gleichen  Zeichen (in der Regel
  1807.       Nullen) besteht.  Wenn die  Anzahl dieser Zeichen groß genug ist
  1808.       (größer als  die Virenlänge),  kann der  Virus, analog  zu einem
  1809.       Komprimierungsprogramm, diesen  Bereich für  seinen eigenen Code
  1810.       nutzen.
  1811.  
  1812.       Hierzu merkt  sich der Virus das Zeichen und die Anzahl, wie oft
  1813.       dieses Zeichen  an dieser  Stelle  auftritt.  Dann  wird  dieser
  1814.       Bereich mit dem eigenen Viruscode überschrieben. Der Dateianfang
  1815.       wird genauso  manipuliert,  wie  bei  normalen  Dateiviren.  Der
  1816.       Unterschied zu  Dateiviren besteht  darin, das kein Code mehr an
  1817.       den Wirt angehängt, sondern direkt in den Wirt hineingeschrieben
  1818.       wird, ohne  den Wirt  aber dabei  zu  schädigen.  Logischerweise
  1819.       nimmt die  Dateigröße des  Wirtes bei dieser Infektionsart nicht
  1820.       zu.
  1821.  
  1822.       Man unterscheidet zwischen folgenden Cavity-Virengattungen:
  1823.  
  1824.           + Header-Viren
  1825.           + Zerohunting-Viren
  1826.           + Stackbereich-Viren
  1827.  
  1828.       3.3.5.1 Header-Viren
  1829.       1994 tauchte  eine ganze  Serie neuer  Viren auf,  die sich alle
  1830.       folgender Technik  bedienen: EXE-Programme  haben oft hinter dem
  1831.       eigentlichen Programmkopf (EXE-Header) einen Bereich von ca. 480
  1832.       Bytes, der  ungenützt ist  und aus  Nullen besteht.  Die Header-
  1833.       Viren überschreiben  diesen Bereich  mit ihrem Code. Um aktiv zu
  1834.       werden. muß  der EXE  Programmkopf so abgeändert werden, daß der
  1835.       Virus  zuerst  aktiv  wird.  Dies  erfolgt  meistens  durch  das
  1836.       Überschreiben  der  "MZ"-Erkennung  des  EXE-Headers  mit  einen
  1837.       Sprungbefehl (near  jump) auf  den Virus.  Solch eine infizierte
  1838.       Datei sieht  jetzt für  DOS wie eine normale COM-Datei aus, weil
  1839.       der EXE-Header  teilweise zerstört ist. Weil COM-Dateien maximal
  1840.       64 KB groß sein dürfen, werden von dieser Virenart auch nur EXE-
  1841.       Programme infiziert,  die kleiner  als 64  KB sind.  Eine andere
  1842.       Methode den Programmkopf abzuändern ist unter 4.) beschreiben.
  1843.  
  1844.       Wird solch  ein infiziertes Programm gestartet, wird dadurch der
  1845.       Virus aktiv.  Allen Header-Viren  ist jedoch  gemeinsam, daß  es
  1846.       keinen Programmzuwachs  gibt, weil  einfach Teile des Programmes
  1847.       überschrieben wurden.  Es gibt  zur Zeit  vier  unterschiedliche
  1848.       Methoden, wie der Virus das Originalprogramm wiederherstellt und
  1849.       startet:
  1850.  
  1851.       .    Relocation  des   EXE-Programmes  durch   den   Virus   mit
  1852.        anschließendem Start (z. B. BootEXE-Virus).
  1853.  
  1854.  
  1855.       Beschreibung aller Virenarten und Virengattungen       Seite: 29
  1856.  
  1857.       .    Installieren            eines            speicherresidenten
  1858.        Disketteninterrupthandlers, der  bei  Lesezugriffen  den  Virus
  1859.        herausfiltert  und  bei  Schreibzugriffen  geeignete  Programme
  1860.        infiziert (siehe  auch "Slow  Infector"). Danach  versucht  der
  1861.        Virus,   das    Programm   neu    zu    starten.    Weil    der
  1862.        Disketteninterrupthandler  aktiv   ist,  wird  der  Virus  beim
  1863.        Startvorgang   herausgefiltert   und   das   Programm   scheint
  1864.        unverseucht zu  sein. Solche  Viren haben  durch die verwendete
  1865.        Methode 100-prozentige  Tarnkappeneigenschaften. Diese  Methode
  1866.        wird von mehreren Viren verwendet, z.B. Pure, XYZ, Cluster oder
  1867.        Skid_Row.
  1868.       .    Eine weitere  Methode ist,  beim Programmstart  den  Master
  1869.        Boot Record  der Festplatte  mit dem  Virus zu  infizieren  und
  1870.        anschließend das  System neu  zu booten. Der Virus wird nun als
  1871.        erstes Programm  aktiv und  kann die  gleichen Tarnmethoden wie
  1872.        unter 2.)  beschrieben verwenden.  Startet man  ein verseuchtes
  1873.        EXE-Programm, wird  der Virus  beim Laden herausgefiltert, d.h.
  1874.        es liegt  das original  Programm vor,  der Virus wird gar nicht
  1875.        mehr ausgeführt.  Das besondere  an diesem  Virus ist,  daß  er
  1876.        multipartite ist,  d.h. er  infiziert Programme,  also auch den
  1877.        Master Boot  Record der  Festplatte. Zusätzlich  hat solch  ein
  1878.        Virus hervorragende  Tarnkappeneigenschaften. Ein  Beispiel ist
  1879.        hierfür der  Lockout Virus,  der insgesamt  nur 331  Bytes lang
  1880.        ist!
  1881.       .    Eine weitere Möglichkeit besteht darin, den EXE-Kopf intakt
  1882.        zu lassen  und  nur  dessen  Einsprungsadresse  auf  den  Virus
  1883.        umzubiegen. Durch  diese Taktik  können auch EXE-Dateien größer
  1884.        als 65  KB infiziert werden! Bei Programmausführung installiert
  1885.        der Virus einen INT 13h-Handler der den Virus bei Lesezugriffen
  1886.        herausfiltert. Anschließend versucht der Virus das Programm neu
  1887.        zu starten.  Weil der Disketteninterrupthandler aktiv ist, wird
  1888.        der Virus  beim Startvorgang  herausgefiltert und  das Programm
  1889.        scheint unverseucht zu sein.
  1890.  
  1891.       3.3.5.2 Stackbereich Viren und "Zerohunting"
  1892.       Es gibt  auch Stackbereich-Viren,  die sich  -ähnlich den Header
  1893.       Viren- in  ungenutzten Programmteilen  aufhalten und diese über-
  1894.       schreiben, weshalb  auch  eine  Längenänderung  nicht  auftritt!
  1895.       Solche Viren  suchen innerhalb  von Wirtsprogrammen  nach Ketten
  1896.       gleicher Zeichen (gewöhnlich nach Nullen, z. B. Stackbereich des
  1897.       Programmes) und überschreiben diesen Bereich, wenn er lang genug
  1898.       ist, mit ihrem Code. Hierzu zählen u. a. die Viren
  1899.  
  1900.           + LeHigh (im Stackbereich des Programmes COMMAND.COM)
  1901.           + ZeroHunt und Darth Vader (in COM Dateien)
  1902.  
  1903.       Da diese  Bereiche vom  Virus  anschließend  wieder  mit  Nullen
  1904.       aufgefüllt werden,  sind fast  keine Symptome zu erkennen. Heute
  1905.       sind   jedoch   fast   alle   Programme   komprimiert,   weshalb
  1906.       Stackbereichviren fast keine potentielle Wirte mehr finden!
  1907.  
  1908.       3.3.6 Slackbereich Viren
  1909.  
  1910.       Die Slack-Area  ist  der  Bereich  des  letzten  Clusters  eines
  1911.       Programmes,  der  nicht  mehr  vom  Programm  belegt  wird.  Bei
  1912.       größeren Festplatten ist somit die Slack-Area 4 KB und größer.
  1913.  
  1914.       Diese Virengattung ist sehr hinterhältig, weil sie sich nur sehr
  1915.       schwer entdecken läßt und zudem weil sie äußerst destruktiv ist.
  1916.       Die Wirkungsweise ist folgende:
  1917.  
  1918.  
  1919.       Beschreibung aller Virenarten und Virengattungen       Seite: 30
  1920.  
  1921.  
  1922.       Der Virus  kopiert sich hinter den Wirt in die sogenannte Slack-
  1923.       Area, ohne  jedoch die Länge des Wirtes zu ändern. Diese Methode
  1924.       wurde jedoch  noch nicht  in existierenden  Viren gefunden! Eine
  1925.       andere Methode  ist es,  den Anfang des Wirtes in die Slack-Area
  1926.       zu kopieren (zu sichern) und den Wirt mit dem Viruscode zu über-
  1927.       schreiben. Beim  Start des  Virus lädt dieser die entsprechenden
  1928.       fehlenden Programmteile  nach. Beispiel:  Number  of  the  Beast
  1929.       (666).
  1930.  
  1931.       Eine Längenänderung des befallenen Programmes ist also aus Sicht
  1932.       des Virus  nicht nötig,  weshalb z.  B. Integritätsprüfer diesen
  1933.       Virus nur  bei eingeschalteter  Checksumme findet.  Diese  Viren
  1934.       sind nicht  ungefährlich, weil  sie in  vielen Fällen  zerstörte
  1935.       Programme und  querverkettete  Dateien  ("cross  linked  files")
  1936.       erzeugen. Ist  die Slack-Area  eines Opfers nämlich zu klein für
  1937.       den Virus,  so belegt  dieser auf dem Medium auch noch den näch-
  1938.       sten Sektor,  ohne daß  dafür jedoch  ein  Eintrag  in  die  FAT
  1939.       erfolgt. Ist  oder wird  dieser Sektor  nun  legitimerweise  von
  1940.       einer anderen  Datei belegt,  so  entsteht  ein  querverketteter
  1941.       Sektor, und  das Wirtsprogramm ist nicht mehr startfähig, da der
  1942.       Viruscode überschrieben  wurde. Hängt  der Virus sich jedoch vor
  1943.       den Wirt,  so ist  das Ende des Wirtes zerstört (z.B.: Number of
  1944.       the Beast)!  Weil die Länge des Wirtes nicht angepaßt wird, wird
  1945.       bei einem  einfachen Kopieren  auch nicht  die Slack-Area mitko-
  1946.       piert, was  wiederum zum Abscheiden von Virus- oder Programmcode
  1947.       führt.
  1948.  
  1949.       Aus  diesen   Gründen   sind   Slackbereich-Viren   nicht   weit
  1950.       verbreitet. Der  einzige lauffähige  Slackbreich-Virus  ist  der
  1951.       Virus "Number  of the  Beast (666)". Es gibt noch einen weiteren
  1952.       Slackbreich-Virus, nämlich  den Virus  "Assassin", er ist jedoch
  1953.       nicht lauffähig!
  1954.  
  1955.       3.3.7 "Live and Die" Viren
  1956.  
  1957.       Unter "Live  and Die"  - Viren  versteht man Viren, die sich nur
  1958.       für eine bestimmte Zeit in einem Programm aufhalten. Nach Ablauf
  1959.       eines Zeitraums  entfernt sich  der Virus  selbständig  aus  dem
  1960.       befallenen Programm.  Das Programm  ist  meist  nach  der  selb-
  1961.       ständigen Entfernung  noch lauffähig, unter Umständen sogar wie-
  1962.       der im Originalzustand! Aktive Stealthviren kann man im weiteren
  1963.       Sinne zu  den "Live and Die" Viren rechnen. Der Pure und Goldbug
  1964.       Virus dürfte  diese Definition  erfüllen, weil er sich teilweise
  1965.       selbst wieder  entfernt, und eine weitere Infizierung des Wirtes
  1966.       unterläßt.
  1967.  
  1968.       3.3.8 Armored (Gepanzert)
  1969.  
  1970.       Eine immer  beliebtere Technik  ist, daß  sich Viren vor Analyse
  1971.       oder  Entschlüsselung   selbst  schützen.   Dadurch   soll   den
  1972.       Antivirenforschern das  Analysieren des  Virus erschwert werden,
  1973.       was   dazu    führt,   daß    das   Entwickeln    entsprechender
  1974.       Antivirensoftware verzögert  wird. Durch  diese Techniken können
  1975.       auch viele  Virenscanner ausgetrickst  werden,  die  anhand  von
  1976.       regelbasierenden   Modulen   (AVR-Modulen18)   Verschlüsselungs-
  1977.       routinen erkennen können.
  1978.  
  1979.       ____________________
  1980.       18AVR = Algorithmic Virus Recognition.
  1981.  
  1982.  
  1983.       Beschreibung aller Virenarten und Virengattungen       Seite: 31
  1984.  
  1985.       3.3.9 Hardware Stealthtechniken
  1986.  
  1987.       Inzwischen sind  drei Methoden  bekannt geworden, wie sich Viren
  1988.       mittels Hardwareeigenschaften Stealthtechniken zunutze machen.
  1989.  
  1990.       3.3.9.1 Floppy Disc Boot Simulation
  1991.       Das CMOS  der modernen  PCs enthält  Informationen,  in  welcher
  1992.       Reihenfolge gebootet  werden soll  (A:;C: oder C:;A:). Ein Virus
  1993.       kann diese  Reihenfolge jedoch zu seinen Gunsten abändern, z. B.
  1994.       der ExeBug-Virus.
  1995.  
  1996.       Der Virus  (Bootvirus) hat  schon die  Festplatte infiziert  und
  1997.       meldet durch  eine bestimmte  Technik die Bootsequenz so um, daß
  1998.       zuerst von  der  Festplatte  und  dann  erst  von  der  Diskette
  1999.       gebootet wird.  Versucht nun  der  Anwender,  von  der  Diskette
  2000.       hochzubooten (in  der Absicht eventuelle Viren zu deaktivieren),
  2001.       wird zuerst  der Virus  von der  Festplatte aktiviert. Der Virus
  2002.       schaut nun  nach, ob im Laufwerk eine Diskette eingelegt ist und
  2003.       bootet gegebenenfalls von dort weiter. Weil der Virus zusätzlich
  2004.       Sektor-Stealthtechniken  verwendet,   ist  der  Virus  nach  dem
  2005.       "erfolgreichen" Booten von der Diskette nicht zu erkennen.
  2006.  
  2007.       Es gibt  inzwischen schon zwei verschiedene Techniken, um diesen
  2008.       Effekt zu erreichen:
  2009.  
  2010.           + Ummelden der Bootsequenz im CMOS
  2011.           + Andauerndes An- und Abmelden des Laufwerkes im CMOS (diese
  2012.             Technik verwendet z. B. der ExeBug-Virus).
  2013.  
  2014.       3.3.9.2 Hardware Level stealth
  2015.       Das ist ein anderer neuer Trick, der in zwei existierenden Viren
  2016.       gefunden wurde  (Strange und  MegaStealth). Der  Virus fängt das
  2017.       "Device  Ready"   Signal  des  Disk  Kontrollers  ab,  wenn  ein
  2018.       Festplattenzugriff erfolgen  soll (ATs)  oder erfolgt ist (XTs).
  2019.       Anschließend   manipuliert    der   Virus    den   Puffer,   der
  2020.       gelesen/geschrieben werden  soll zu  seinen Gunsten.  Selbst ein
  2021.       Wächterprogramm oder  sogar ein Hardwareschutz, der die unterste
  2022.       Ebene, nämlich  die Festplattenzugriffe  kontrolliert,  kann  so
  2023.       umgangen werden.
  2024.  
  2025.       3.3.9.3 Flash-BIOS stealth
  2026.       Neuere Computer haben unter Umständen ein sogenanntes Flash-BIOS
  2027.       integriert19, das  durch Softwarebefehle  beschreibbar ist.  Das
  2028.       normale BIOS ist im Gegensatz zum Flash-BIOS nicht beschreibbar.
  2029.       Ende 1994  tauchte ein neuer Bootvirus auf (BIOS Menegetis), der
  2030.       sich in  das Flash-BIOS  einnistet, den  Bootinterrupt auf  sich
  2031.       selbst umsetzt  und Schreibzugriffe auf das Flash-BIOS abblockt.
  2032.       Anschließend infiziert  der Virus die Festplatte. Danach verhält
  2033.       sich dieser  Virus wie  ein "normaler" Bootvirus, d. h. er infi-
  2034.       ziert alle  Disketten, die nicht schreibgeschützt sind. Wenn der
  2035.       Virus  von   der  Platte  entfernt  wurde,  wird  beim  nächsten
  2036.       Bootvorgang der  Virus aus  dem Flash-BIOS  wieder aktiviert und
  2037.       infiziert  sofort   wieder  die   Festplatte!  Weil   der  Virus
  2038.       Schreibzugriffe auf  das Flash-BIOS  blockiert, kann  der  Virus
  2039.       nicht ohne weiteres aus dem Flash-BIOS entfernt werden!
  2040.  
  2041.  
  2042.       ____________________
  2043.       19Vor allem neuere Pentium- und 486 DX/2-Motherboards sind mit
  2044.            Flash BIOS ausgerüstet.
  2045.  
  2046.  
  2047.       Beschreibung aller Virenarten und Virengattungen       Seite: 32
  2048.  
  2049.       Erst Anfang  Juni 1996 wurde bekannt, das die API, die der Virus
  2050.       "BIOS Menegetis"  verwendet gar nicht existierte, d.h. der Virus
  2051.       wurde selbst  von seinem Autor nicht auf Lauffähigkeit getestet.
  2052.       Es ist  jedoch bemerkenswert, daß Virenprogrammier jede Schwach-
  2053.       stelle von  Betriebssystem und BIOS ausnützen, um den Virus noch
  2054.       bessere    "Überlebenschancen"    und    Tarnkappeneigenschaften
  2055.       mitzugeben.
  2056.  
  2057.       3.3.10 Abhilfe bei Stealthviren
  2058.  
  2059.       Meistens sind  die Viren  im Arbeitsspeicher unverschlüsselt und
  2060.       können so  erkannt werden.  Die  meisten  Stealthviren  besitzen
  2061.       folgenden  'Fehler':  Der  DOS-Befehl  CHKDSK  zeigt  bei  einem
  2062.       aktiven Virus pro infizierter Datei einen oder mehrere verlorene
  2063.       Cluster zu der infizierten Datei an. Diese Cluster dürfen jedoch
  2064.       erst mit  dem Befehl  CHKDSK /F beseitigt werden, wenn der Virus
  2065.       entfernt wurde!
  2066.  
  2067.  
  2068.       3.4 Verschlüsselte und polymorphe Viren
  2069.  
  2070.       Verschlüsselung   ist    die   umkehrbare    Umwandlung    einer
  2071.       Informationsdarstellung in  eine andere,  die keine Rückschlüsse
  2072.       mehr auf den ursprünglichen Inhalt erlaubt. Verschlüsselung wird
  2073.       verwendet,  damit   keine  virentypischen   Texte  im  Viruscode
  2074.       auftauchen  und   damit   regelbasierende   Virenscanner   keine
  2075.       verdächtigen   Befehle    finden.   Die    Routine,   die    den
  2076.       verschlüsselten Virus wieder entschlüsselt, wird als "Decryptor"
  2077.       bezeichnet.
  2078.  
  2079.       Polymorphe  Viren   sind  Viren,   die  verschlüsselt  sind.  Im
  2080.       Gegensatz  zu  den  meistens  verschlüsselten  Viren,  die  eine
  2081.       konstante Ent-  und Verschlüsselungsroutine  besitzen (und somit
  2082.       anhand ihrer Entschlüsselungsroutine erkannt werden können), ist
  2083.       die  Entschlüsselungsroutine  bei  polymorphen  Viren  überhaupt
  2084.       nicht  mehr   konstant.  Oftmals   sind  nur   noch  drei  Bytes
  2085.       'Programmskelett' konstant,  der  Rest  ist  oft  mit  sinnlosen
  2086.       Maschinenbefehlen aufgefüllt. Deshalb stellt diese Virenart -wie
  2087.       die Stealthviren-  eine ernstzunehmende  Gefahr  dar,  weil  sie
  2088.       teilweise nicht mehr erkannt wird. So kann z. B.:
  2089.  
  2090.                      1 + 1 = 2 auch durch 1 - (-1) = 2
  2091.  
  2092.       ausgedrückt  werden.  Gerade  im  Computerbereich  gibt  es  zig
  2093.       Möglichkeiten, eine  logische Aktion  durch  verschiedenste  Al-
  2094.       gorithmen zu programmieren.
  2095.  
  2096.       Manche   Viren    verwenden   auch    verschiedene    Verschlüs-
  2097.       selungsmethoden (SUB/ADD, NOT, XOR oder Negieren), damit gewähr-
  2098.       leistet ist, daß jedes infizierte Programm anders aussieht. Eine
  2099.       Suche nach derart komplex verschlüsselten Viren:
  2100.  
  2101.           + ist sehr zeitaufwendig
  2102.           + benötigt einen komplexen Suchalgorithmus
  2103.           + ist meistens anfällig für Fehlalarme
  2104.           + benötigt  Erfahrung:   Es  ist   oft  sehr   schwer,  eine
  2105.             verläßliche   Suchroutine    für   polymorphe   Viren   zu
  2106.             programmieren.
  2107.  
  2108.  
  2109.  
  2110.  
  2111.       Beschreibung aller Virenarten und Virengattungen       Seite: 33
  2112.  
  2113.       3.4.1 Mutation
  2114.  
  2115.       Unter Mutation  versteht man  die selbständige  Veränderung  des
  2116.       Virus während  seiner Reproduktion.  Polymorphe  Viren  sind  im
  2117.       höchsten Maße mutierend.
  2118.  
  2119.       Es gibt  polymorphe Viren,  bei denen  kein einziges  Byte  mehr
  2120.       konstant ist.  Solche Routinen,  die das  Ver- und Entschlüsseln
  2121.       durchführen und teilweise als eigenständige Programmbibliotheken
  2122.       vorliegen  (Virenbaukästen),   werden  auch  "Mutation  Engines"
  2123.       genannt.  Beispiele:   MtE  (Mutation   Engine),  TPE   (TridenT
  2124.       Polymorph Engine),  NED (Nuke  Encryption  Device),  DAME  (Dark
  2125.       Angel's Mutation  Engine), DSCE  (Dark Slayer  Confusion Engine)
  2126.       oder DSME  (Dark Slayer  Mutation Engine).  Diese Liste ist noch
  2127.       nicht vollständig,  die o.  g. Mutation  Engines sind jedoch die
  2128.       bekanntesten20.
  2129.  
  2130.       Solche polymorphen  Viren werden  von Scannern  nicht  mehr  mit
  2131.       festen Bytefolgen  oder Platzhaltern  gesucht, sondern mit Hilfe
  2132.       von algorithmischer  Untersuchung (AVR-Module).  Das untersuchte
  2133.       Programm wird  deshalb auf  Techniken hin  untersucht, die  ein-
  2134.       deutig  von  diesen  polymorphen  Viren  stammen.  So  muß  jede
  2135.       Verschlüsselung einen Schlüssel, den Startbereich und Endbereich
  2136.       und  eine   Entschlüsselungsvorschrift  besitzen.  Werden  diese
  2137.       Codierungstechniken in  einem Programm  entdeckt, so spricht der
  2138.       Virenscanner an.  Jedoch ist  es extrem  schwer, Algorithmen  zu
  2139.       schreiben, die  wirklich jeden  Aspekt eines  polymorphen  Virus
  2140.       abdecken. So  ist es  auch nicht hundertprozentig sicher, ob ein
  2141.       Virenscanner wirklich  alle  erzeugten  Mutationen  eines  Virus
  2142.       überhaupt aufspüren  kann. Teilweise  ist es  noch nicht  einmal
  2143.       möglich, hierfür einen mathematischen Beweis zu erbringen!
  2144.  
  2145.       3.4.2 Verschiedene Arten von Polymorphismus
  2146.  
  2147.       Zur Zeit  teilt  man  polymorphe  Viren  in  sechs  verschiedene
  2148.       Klassen ein,  die sich dadurch unterscheiden, wie hochgradig ein
  2149.       Virus mutiert  [Bont94]. Die  TPE ist  z.  B.  eine  der  besten
  2150.       Mutation Engines, sie wird deshalb zur Klasse 5 gezählt. Die mit
  2151.       der TPE  erzeugten Viren sind in ihrem Aussehen so variabel, daß
  2152.       fast jeder herkömmliche verschlüsselte Virus eine Untermenge der
  2153.       TPE darstellt.
  2154.  
  2155.       3.4.2.1 Oligomorph
  2156.       Die  erste  Art  des  Polymorphismus:  Der  Virus  benützt  eine
  2157.       begrenzte  Anzahl  (mehrere)  von  konstanten  Decryptoren,  die
  2158.       ebenfalls  mit   einer  konstanten  Anzahl  von  Sucherkennungen
  2159.       erkannt  werden.  Beispiele  hierfür  ist  der  Whale-Virus  der
  2160.       insgesamt 34  Decryptoren verwendet.  Will ein Virensuchprogramm
  2161.       den  Whale-Virus   sicher   entdecken,   muß   es   hierfür   34
  2162.       Sucherkennungen verwenden!  Weitere bekannte Viren sind: Cheeba,
  2163.       Marauder, Screaming_Fist, Slovakia und V-Sign (Cansu).
  2164.  
  2165.       3.4.2.2 Weitere Arten von Polymorphismus
  2166.       Die zweite  Klasse unterscheidet  sich  von  der  ersten  Klasse
  2167.       dadurch, daß  der Decryptor  zwar jedesmal  die gleichen Befehle
  2168.       verwendet, deren  Reihenfolge jedoch willkürlich angeordnet sein
  2169.       kann. Beispiel hierfür HWF oder WordSwap.
  2170.  
  2171.       ____________________
  2172.       20Weitere Mutation Engines sind: PME, SPE, GCAE, ViCE oder GPE.
  2173.  
  2174.  
  2175.       Beschreibung aller Virenarten und Virengattungen       Seite: 34
  2176.  
  2177.       Von der  dritten Klasse spricht man, wenn zwischen den einzelnen
  2178.       Befehlen  des  Decryptors  sinnlose  Befehle  eingefügt  werden.
  2179.       Beispiele hierfür Tequila oder Flip-Virus.
  2180.  
  2181.       In der  vierten Klasse  werden dann  noch zusätzlich die Befehle
  2182.       zufällig      vertauscht,       die       den       eigentlichen
  2183.       Entschlüsselungsvorgang nicht beeinflussen.
  2184.  
  2185.       Die fünfte  Klasse faßt  alle bisherigen Klassen zusammen. Diese
  2186.       Art   von    Polymorphismus   stellt    alle   Entwickler    von
  2187.       Virensuchprogrammen vor  große Probleme, weil solche Viren nicht
  2188.       mehr zuverlässig  erkannt werden  können. Ein  Ausweg aus diesem
  2189.       Dilemma ist,  daß das Virensuchprogramm den Virus entschlüsselt,
  2190.       indem es  den Decryptor des Virus selbst verwendet. Das heißt es
  2191.       muß in  einer kontrollierten  Umgebung der  Decryptor des  Virus
  2192.       solange schrittweise  ausgeführt  werden,  bis  sich  der  Virus
  2193.       selbst entschlüsselt  hat!  Beispiele  hierfür  sind  fast  alle
  2194.       Viren, die mit einer Mutation-Engine "arbeiten".
  2195.  
  2196.       3.4.2.3 Zerstückelt (Permutating)
  2197.       Die sechste Art des Polymorphismus: Diese Technik besteht darin,
  2198.  
  2199.       .    den eigenen  Virencode in  kleinere Stücke zu zerteilen und
  2200.        diese wahllos  im Wirt  unterzubringen. Es  muß nur  noch  eine
  2201.        Routine hinzugefügt  werden, die  den Virus beim Starten wieder
  2202.        korrekt zusammenfügt.
  2203.       .    daß der  Virus sich  irgendwo  im  Wirt  unzerstückelt  un-
  2204.        terbringt und  mehrere  (polymorphe)  Lademodule  in  den  Wirt
  2205.        einfügt, die  nichts anderes tun, als bestimmte Register zu la-
  2206.        den  (z.  B.  sinnlose  Befehle)  und  zum  nächsten  Lademodul
  2207.        springen.
  2208.       .    daß die  Entschlüsselungsroutine des Virus irgendwo im Wirt
  2209.        über mehrere  (polymorphe) Lademodule verteilt im Wirt abgelegt
  2210.        wird, welche  nichts anderes tun, als bestimmte Register zu la-
  2211.        den und  zum nächsten  Lademodul zu springen, um in solch einer
  2212.        Schleife den eigentlichen Virus zu entschlüsseln.
  2213.  
  2214.       Das   Problem   liegt   darin,   daß   sämtliche   herkömmlichen
  2215.       Scannertechniken (Anfang und Ende scannen und Entrypointtracing)
  2216.       hier versagen;  der Scanner muß die ganze Datei durchsuchen, was
  2217.       zu Fehlalarmen und Geschwindigkeitseinbußen führt.
  2218.  
  2219.       Kurz nachdem  ich  diese  Beschreibung  fertig  gestellt  hatte,
  2220.       tauchte der erste polymorphe, permutierende Virus auf (One_Half,
  2221.       Hybrid-Virus mit  Stealtheigenschaften). Dieser  Virus  hat  die
  2222.       komplette Entschlüsselungsroutine (die zusätzlich polymorph ist)
  2223.       wahllos im  Wirt untergebracht und mittels Sprüngen "verbunden".
  2224.       Meines Erachtens  ist es  fast nicht  mehr möglich, solche Viren
  2225.       mit irgendeiner Art von herkömmlichen Scanalgorithmen zu finden,
  2226.       geschweige denn den Virus zu entfernen.
  2227.  
  2228.       Die  einzige  verläßliche  Möglichkeit  ist  es,  den  Virus  im
  2229.       Arbeitsspeicher Schritt  für  Schritt  abzuarbeiten  (Codeablauf
  2230.       simulieren oder debuggen), bis er sich selbst entschlüsselt hat.
  2231.       Ist er  erst mal  entschlüsselt, kann man solche Viren mit einem
  2232.       einfachen Suchmuster erkennen oder mit einem geeigneten Programm
  2233.       entfernen. Dies ist einfacher gesagt als getan: Der Versuch, den
  2234.       Virus One_Half  von Hand  mit einem  Debugger zu  entschlüsseln,
  2235.       kann eine echte Geduldsprobe werden.
  2236.  
  2237.  
  2238.  
  2239.       Beschreibung aller Virenarten und Virengattungen       Seite: 35
  2240.  
  2241.       Die nachfolgenden zwei Grafiken sollen veranschaulichen, wie die
  2242.       oben   beschriebenen    unterschiedlich   permutierenden   Viren
  2243.       funktionieren.
  2244.  
  2245.  
  2246.  
  2247.                 Wirtsprogramm                            V                                W                                    V                                         W                                             V
  2248.           ■                                                     Virus
  2249.  
  2250.  
  2251.  
  2252.  
  2253.  
  2254.  
  2255.  
  2256.            ■    V    W   V    Virus        Wirtsprogramm       V   W
  2257.  
  2258.  
  2259.  
  2260.  
  2261.  
  2262.             Abb.: Infektionsmechanismus von permutierenden Viren
  2263.  
  2264.  
  2265.       Weitere permutierende  Viren  sind:  Bad_Boy,  Fly,  Leech  oder
  2266.       Commander Bomber.
  2267.  
  2268.       Einen ähnlichen  Infektionsmechanismus wie  permutierende  Viren
  2269.       hat die  Uruguay-Virus Familie. Die Mutation Engine dieser Viren
  2270.       hat Polymorphismus  der fünften  Klasse und  wird einstimmig von
  2271.       Virenexperten als die zur Zeit leistungsfähigste Mutation Engine
  2272.       bezeichnet. Der  Virus kann COM Dateien infizieren. EXE-Dateien,
  2273.       die kleiner  als 65  KB sind  wandelt der Virus zuerst einmal in
  2274.       COM-Dateien  um.  Anschließend  wird  die  Mutation-Engine  dazu
  2275.       verwendet einen  Sprung zu  verschlüsseln, der  den eigentlichen
  2276.       Decryptor des Virus am Dateiende anspringt.
  2277.  
  2278.       Der  am   Anfang  eingefügte  Sprung  besteht  nicht  aus  einem
  2279.       "einfachen" Sprung  sondern kann auch direkt, über Register oder
  2280.       auch indirekt  ausgeführt  werden.  Alleine  um  den  Sprung  zu
  2281.       erzeugen, erzeugt  der  Virus  Decryptoren  oder  fügt  sinnlose
  2282.       Maschienenbefehle von  bis zu  200 Bytes  Länge ein. Das Problem
  2283.       für alle  Virensuchprogramme ist, sie den Sprung auflösen müssen
  2284.       um den  eigentlichen polymorphen  Decryptor ermitteln zu können.
  2285.       Weil der  Virus hochpolymorph  ist und  dadurch Decryptoren  mit
  2286.       unterschiedlicher Länge  erzeugt,  kann  das  Suchprogramm  auch
  2287.       nicht einfach hingehen und den Decryptor am Dateiende suchen.
  2288.  
  2289.  
  2290.           variabler Sprung
  2291.  
  2292.                                   Wirtsprogramm                                               Virus
  2293.  
  2294.  
  2295.  
  2296.  
  2297.             Abb.: Infektionsmechanismus der Uruguay-Virusfamilie
  2298.  
  2299.  
  2300.  
  2301.  
  2302.  
  2303.  
  2304.       Beschreibung aller Virenarten und Virengattungen       Seite: 36
  2305.  
  2306.       3.4.3 Slow Mutating (Langsames Mutieren)
  2307.  
  2308.       Um den  Antivirenforschern das  Leben schwer zu machen, mutieren
  2309.       manche Viren  nur sehr  langsam. Es  ist extrem  schwierig, alle
  2310.       möglichen Varianten  zu erzeugen,  was dazu führt, daß der ganze
  2311.       Virus analysiert  werden muß. Ein Beispiel ist der Tremor-Virus,
  2312.       der für  sein Mutieren  computerspezifische Parameter verwendet.
  2313.       D. h.  solch ein  Virus muß  auf den verschiedenen Testmaschinen
  2314.       ausgetestet werden.  Der Effekt  beim Tremor-Virus  war, daß die
  2315.       erste Scannergeneration  nicht  alle  Tremorvarianten  entdecken
  2316.       konnte, was zu einer weiteren Verbreitung führte.
  2317.  
  2318.  
  2319.       3.5 Retroviren
  2320.  
  2321.       Retroviren  sind  Viren,  die  gezielt  Antivirenprogramme  aus-
  2322.       schalten, angreifen oder deren Funktion einschränken. Retroviren
  2323.       sind auch  als Anti-Anti  Viren bekannt. Folgende Techniken sind
  2324.       erwähnenswert (siehe auch [FBul216]):
  2325.  
  2326.       +    Modifizieren des  Antivirenprogrammes auf  dem  Datenträger
  2327.        oder im Arbeitsspeicher (vgl. Trojanische Pferde).
  2328.       +    Das Erkennen  von Speicherwächtern  und deren Deaktivierung
  2329.        oder   das   Ausschalten   von   Virenfunktionen,   damit   der
  2330.        Speicherwärter nicht mehr anspricht.
  2331.       +    Das  Benützen   von  Hintertüren   oder  Fehlern   gewisser
  2332.        Antivirenprogramme.
  2333.       +    Löschen oder  Verändern  von  wichtigen  Dateien,  die  zum
  2334.        Antivirusprogramm gehören, z. B. Checksummendateien.
  2335.       +    Das Verwenden  von  Codesequenzen  im  Viruscode,  die  für
  2336.        Antivirenprogramme problematisch sind.
  2337.       +    Das Verursachen von Fehlalarmen.
  2338.       +    Verwendung von  Techniken, die das Erkennen, Entfernen oder
  2339.        Identifizieren des  Virus erschweren  (vgl.  polymorphe  Viren,
  2340.        Stealthviren, "Sparse" und "Armored").
  2341.  
  2342.       Es sind  Viren bekannt,  die z.  B. Checksummendateien  gewisser
  2343.       Antivirenprogramme derart manipulieren, daß eine Infektion nicht
  2344.       mehr bemerkt  wird. Fast  jeder moderne  Virus  kann  heute  den
  2345.       Speicherwächter VSAFE.COM,  welcher zum  Lieferumfang von MS-DOS
  2346.       6.xx gehört,  deaktivieren. Hierzu  reicht  ein  8  Byte  großes
  2347.       Programm namens  "VSLAY.ASM" das  unter Virenprogrammieren  weit
  2348.       bekannt  ist.   Viele   Viren   stoppen   die   Ausführung   von
  2349.       Antivirenprogrammen, was  die Entdeckungswahrscheinlichkeit eher
  2350.       erhöht.  Oder  sie  unterlassen  gerade  aus  diesem  Grund  das
  2351.       Infizieren  solcher   Programme.  Der  Virus  Mirror  läßt  alle
  2352.       Programme als  infiziert erscheinen:  Falls versucht  wird,  den
  2353.       Virus zu  entfernen,  werden  uninfizierte  Programme  zerstört!
  2354.       Diese Aufzählung könnte beliebig fortgesetzt werden.
  2355.  
  2356.  
  2357.  
  2358.       ─══[  4 ZUKÜNFTIGE BETRACHTUNGEN  ]══════════════════════════════─
  2359.  
  2360.  
  2361.       Computerviren sind  die erste  und bis  jetzt einzige  Form  von
  2362.       künstlichen Leben,  die einen  nachweisbaren  Eindruck  bei  der
  2363.       Bevölkerung hinterlassen haben. Zur Zeit sind Computerviren noch
  2364.       eine "lästige"  Begleiterscheinung, die  noch  einigermaßen  be-
  2365.  
  2366.  
  2367.  
  2368.       Beschreibung aller Virenarten und Virengattungen       Seite: 37
  2369.  
  2370.       herrscht werden  kann. Daß  dies jedoch in Zukunft nicht mehr so
  2371.       sein wird, möchte ich im folgenden erläutern.
  2372.  
  2373.  
  2374.       4.1 Trends in der Virenentwicklung
  2375.  
  2376.       Die Qualität  der neu auftauchenden Viren (Hybrid-, Stealth- und
  2377.       polymorphe Viren)  hat zwischenzeitlich  sehr stark  zugenommen,
  2378.       eine Entfernung  stellt den  Anwender deshalb oft vor nicht mehr
  2379.       überwindbare Hürden.  Durch die  internationale Vernetzung  ver-
  2380.       breiten sich  die Viren  jetzt auch  viel schneller  als in  den
  2381.       vergangenen Jahren.
  2382.  
  2383.       Von vielen "alten" Viren tauchen modifizierte Varianten auf, die
  2384.       oft  so   verändert  wurden,   daß  sie  nicht  mehr  von  einem
  2385.       Virensuchprogramm erkannt  werden. Die  Rate neuer  Viren hat in
  2386.       den letzten  Jahren stetig zugenommen, es herrscht zur Zeit fast
  2387.       eine exponentielle  Verdopplung der  neu gefundenen Viren (siehe
  2388.       auch  [Keph94]).  Laut  [Keph94]  dürfte  dann  die  Anzahl  der
  2389.       gefunden  Computerviren  für  MS-DOS  im  Jahre  2000,  etwa  10
  2390.       Millionen erreichen,  was ich  aber  eher  für  unwahrscheinlich
  2391.       halte.
  2392.  
  2393.       Zur Zeit  werden täglich  zwei  bis  drei  neue  Viren  für  das
  2394.       Betriebssystem   MS-DOS    gefunden!    Die    Hersteller    von
  2395.       Antivirenprogrammen kommen  zur Zeit kaum nach, alle neuen Viren
  2396.       zu erfassen,  ein paar  kleinere Hersteller  sind  deshalb  auch
  2397.       schon "auf der Strecke geblieben".
  2398.  
  2399.       4.1.1 Virenkits und Mutation Engines
  2400.  
  2401.       Die "Profis"  unter den Virenschreibern programmieren nicht mehr
  2402.       Viren, sondern Virenkits oder Mutation Engines.
  2403.  
  2404.       Virenkits ermöglichen es auch dem blutigen Anfänger verschiedene
  2405.       lauffähige  Viren  bzw.  compilierbaren  Assemblerquellcodes  zu
  2406.       erzeugen. Das  Fatale daran ist, daß jeder Virus anders aussieht
  2407.       und sich  auch anders  verhält. Der  Benutzer kann  auch den er-
  2408.       zeugten Quellcode  ändern, modifizieren  oder erweitern, um eine
  2409.       eventuelle Entdeckung  durch Virenscanner zu vermeiden. Zur Zeit
  2410.       existieren über  30 verschiedene  Virenkits! Es existieren z. B.
  2411.       von den bekanntesten Virenkits schon mindestens 500 verschiedene
  2412.       Viren, welche teilweise hervorragend programmiert sind.
  2413.  
  2414.       Ein weiterer  Trend sind  polymorphe (polymorph = vielgestaltig)
  2415.       Viren, die  in den  letzten zwei  Jahren  sprunghaft  zugenommen
  2416.       haben. Polymorphe  Viren sind  so komplex verschlüsselt, daß sie
  2417.       teilweise nicht  mehr mit einem Virensuchprogramm erkannt werden
  2418.       können!
  2419.  
  2420.       Jeder Virenschreiber,  der  etwas  auf  sich  hält,  "muß"  eine
  2421.       Mutation Engine  programmiert haben.  Seit  "Dark  Avenger"  als
  2422.       erster seine  MtE veröffentlicht  hat, gibt  es  eine  Flut  von
  2423.       Mutation Engines,  die oft  als Objectfile  verteilt werden. Wie
  2424.       schon  unter   "polymorphe  Viren"   erwähnt,  wird   es   immer
  2425.       schwieriger,  Erkennungsroutinen   für   polymorphe   Viren   zu
  2426.       entwickeln, die zuverlässig sind.
  2427.  
  2428.       Es ist  auch schon  vorgekommen, daß  einfach eine neue Mutation
  2429.       Engine zu einem alten Virus hinzugefügt wurde. So entstand z. B.
  2430.  
  2431.  
  2432.       Beschreibung aller Virenarten und Virengattungen       Seite: 38
  2433.  
  2434.       aus dem  CoffeeShop-Virus der  MtE:CoffeeShop und aus diesem der
  2435.       TPE:CoffeeShop.1_0a. Aus  dem TPE:CoffeeShop.1_0b-Virus entstand
  2436.       dann  die  TridenT  Polymorph  Engine  (TPE.1_1),  eine  weitere
  2437.       Mutation Engine.
  2438.  
  2439.       4.1.2 Multipartite Viren
  2440.  
  2441.       Ein weiterer  Trend sind  Multipartite-  oder  Hybrid-Viren  mit
  2442.       Stealtheigenschaften, die  sowohl Dateien  als auch Bootsektoren
  2443.       und/oder Masterbootrecords infizieren. Da solche Viren schon zum
  2444.       Zeitpunkt des  Bootens aktiv werden, können sie sehr schwer ent-
  2445.       deckt und  entfernt werden. Zusätzlich ist diese Virenart extrem
  2446.       virulent, weshalb  sich ein  Hybrid-Virus wie  z. B.  Natas oder
  2447.       Junkie  innerhalb  von  ein  paar  Wochen  weltweit  verbreitet.
  2448.       Zusätzlich  sind   die   meisten   Hybrid-Viren   verschlüsselt,
  2449.       teilweise sogar  polymorph. Der  Tequila-  und  Flip-Virus  (ca.
  2450.       1992) waren  die ersten "richtigen" polymorphen Hybrid-Viren mit
  2451.       minimalen Stealtheigenschaften,  die sich  rasant vermehrten und
  2452.       deshalb  wahrscheinlich   viele  Nachahmer   fanden.   Für   die
  2453.       Antivirenforscher ist  es zudem  mühsam, solch  einen  Virus  zu
  2454.       analysieren, den  sie haben ohne weiteres eine Größe von 3 bis 6
  2455.       KB (teilweise  sogar 8  bis 10  KB), was  ungefähr 40-120 Seiten
  2456.       disassemblierten Assembler-Code entspricht!
  2457.  
  2458.       4.1.3 Devicetreiberviren unter Windows
  2459.  
  2460.       Unter Windows  gibt es die Möglichkeit, sogenannte Gerätetreiber
  2461.       (Devicedrivers oder Devicetreiber) für Windows zu programmieren.
  2462.       Dies geht  relativ einfach  mit dem  SDK21  für  Windows.  Diese
  2463.       Devicetreiber können,  nach  Einbindung  in  Windows,  sämtliche
  2464.       Dateizugriffe überwachen  - und  entsprechend manipulieren. Wenn
  2465.       man sich  den Clustervirus DIR-II22 anschaut, der sich innerhalb
  2466.       kürzester  Zeit   weltweit  verbreitet   hat,  kann   man   sich
  2467.       vorstellen, wie effektiv sich ein solcher Windows Devicetreiber-
  2468.       Virus verbreiten  könnte. Anscheinend ist noch niemand auf diese
  2469.       Idee  gekommen   oder  es   fehlt   immer   noch   an   genügend
  2470.       Hintergrundwissen, solch  einen Virus  zu entwickeln. Vielleicht
  2471.       liegt es  auch an  der Tatsache,  daß das SDK relativ teuer ist,
  2472.       und deshalb nicht von Virenprogrammiern verwendet wird.
  2473.  
  2474.       Meiner Meinung nach, könnte 1995 das Jahr sein, in dem eine Flut
  2475.       von  Windowsviren  auftauchen  könnte.  Der  Hintergrund:  Viele
  2476.       Virengruppen sind  nicht mehr  daran interessiert die hundertste
  2477.       gehackte Variante  vom xyz-Virus  zu veröffentlichen.  Die  Pro-
  2478.       grammierung von  einem Windowsvirus  ist hier  noch  eine  echte
  2479.       Herausforderung23. Den  gleichen Trend  gibt  es  zur  Zeit  bei
  2480.       Mutation Engines  und Hybridviren,  der hoffentlich  in nächster
  2481.       Zeit wieder abflacht.
  2482.  
  2483.  
  2484.  
  2485.       ____________________
  2486.       21 SDK = Software Developper Kit von Microsoft. Zum
  2487.            Programmieren von Windowsanwendungen.
  2488.       22 DIR-II fängt Devicetreiberaufrufe ab und infiziert dabei
  2489.            geeignete Wirte.
  2490.       23 Sozusagen als Bestätigung kam eine Woche, nachdem ich diesen
  2491.            Abschnitt geschrieben habe, der erste residente Virus
  2492.            (Winsurfer) für Windows von der Gruppe "VLAD" heraus. Er
  2493.            soll auch unter Windows-95 funktionieren!
  2494.  
  2495.  
  2496.       Beschreibung aller Virenarten und Virengattungen       Seite: 39
  2497.  
  2498.       4.2 Internationale Vernetzung
  2499.  
  2500.       Seit der Zugang zu Netzen wie FIDO oder Internet relativ einfach
  2501.       ist, wird  dieses Medium  von den  Virenprogrammiern benutzt. So
  2502.       wird auf  IRC24 im  Kanal #virus  offen Quellcodes von Viren und
  2503.       lauffähige Viren  verteilt. Es  existieren eine Vielzahl von BBS
  2504.       Mailboxen und  ftp-sites, in  denen man anonym Viren, Quellcode,
  2505.       Mutation Engines  und Virenkits  herunter- oder  hochladen kann.
  2506.       Hier stellt  kein Sysop  oder Sysadmin  lästige Fragen,  weshalb
  2507.       hier auch viele illegale Transaktionen stattfinden!
  2508.  
  2509.       Ein weiterer Trend ist das Fluten von Nachrichtenbereichen (news
  2510.       groups)   mit    Viren   und    Quellcodes,   wie    etwa    die
  2511.       Nachrichtenbereiche "FIDO: Virus.Germany" oder "alt.comp.virus".
  2512.       Diese Nachrichtenbereiche  beschäftigen sich  hauptsächlich  mit
  2513.       der Bekämpfung  von Viren! Die Moderatoren sind meistens absolut
  2514.       hilflos, dieses  Fluten zu  unterbinden, weil die Mails meistens
  2515.       von sog.  "Fake-Accounts"25, anonymen  Accounts  oder  gehackten
  2516.       Accounts versendet werden!
  2517.  
  2518.       So wurden  alleine im  April 1995  mehr  als  3200  verschiedene
  2519.       Computerviren in dem Forum "alt.comp.virus" veröffentlicht, eine
  2520.       wahre   Fundgrube    für    jeden    Hacker    und    angehenden
  2521.       Virenprogrammierer! Das  sich so  neue Viren  innerhalb von  nur
  2522.       einer  Woche  weltweit  verbreiten  können,  dürfte  mit  diesem
  2523.       Hintergrundwissen jetzt einleutender sein.
  2524.  
  2525.  
  2526.       ─══[  5 LITERATURVERZEICHNIS  ]══════════════════════════════════─
  2527.  
  2528.  
  2529.       Folgende Literatur wurde in dieser Arbeit verwendet:
  2530.  
  2531.        Abkürzun  Autor, Titel, Beschreibung und Verlag
  2532.        g
  2533.  
  2534.  
  2535.  
  2536.        [Bont94]  Bontchev, Vesselin  "Known Polymorphic Viruses",
  2537.                  1994
  2538.                  ftp.informatik.uni-ham-
  2539.                  burg.de:/pub/virus/texts/viruses/plymrphs.zip
  2540.        [Bont94b  Bontchev, Vesselin  "Are _Good_ Computer Viruses
  2541.        ]         Still A Bad Idea?", 02.11.94
  2542.                  ftp.informatik.uni-ham-
  2543.                  burg.de:/pub/virus/texts/viruses/goodvir.zip
  2544.        [Bontch]  Bontchev,  Vesselin;  "Future  Trends  in  Virus
  2545.                  Writing".
  2546.                  ftp.informatik.uni-ham-
  2547.                  burg.de:/pub/virus/texts/viruses/trends.zip
  2548.        [Brow44]  Brown, Ralf; Interrupt List, Revision 44
  2549.                  Site:         FTP.CS.CMU.EDU [128.2.206.173]
  2550.                  Dateien: /afs/cs.cmu.edu/user/ralf/pub/inter??a.
  2551.                  zip bis inter??d.zip
  2552.  
  2553.       ____________________
  2554.       24 Internet Relay Chat - Foren, in denen man sich Online
  2555.            unterhalten kann.
  2556.       25 z. B. vom Benutzer "dunno" oder "slash" vom Rechner
  2557.            "i.dont.know"
  2558.  
  2559.  
  2560.       Beschreibung aller Virenarten und Virengattungen       Seite: 40
  2561.  
  2562.        [Dier90]  Dierstein, Rüdiger.  Kommentar: Amerika  und die
  2563.                  europäischen  IT-Sicherheitskriterien.   Nr.   6
  2564.                  1990, S. 405-407
  2565.  
  2566.        [Esch93]  Virus Ratgeber  Version 2.0;  Reiner Eschen; 11.
  2567.                  Juli 1993
  2568.  
  2569.                  BBS:  Reign  in  Blood,  30455  Hannover,  FIDO:
  2570.                  2:241/23, Magic: VIRRAT, Telefon: 0511/493521
  2571.  
  2572.        [FAQG93]  VIRUSGER.FAQ -  FAQ der  FidoNet-Area VIRUS.GER,
  2573.                  Malte Eppert, Version 1.2, 03.03.1993
  2574.        [FAQL92]  VIRUS-L.FAQ  -  Frequently  Asked  Questions  on
  2575.                  VIRUS-L/comp.virus, Last  Updated:  18  November
  2576.                  1992, 7:45  AM EST,  Anonymus  FTP  on  cert.org
  2577.                  (192.88.209.5)   in    the   file:    pub/virus-
  2578.                  l/FAQ.virus-l
  2579.        [FBul216  F-PROT  Professional   Update  Bulletin  2.16  -
  2580.        ]         Information  on   the  global   computer   virus
  2581.                  situation. ASCII version. 1995
  2582.  
  2583.                  ftp.datafellows.fi:/pub/f-prot/bull-216.zip
  2584.  
  2585.        [Ferb92]  Ferbach, D.  "A Pathology  of Computer Viruses",
  2586.                  312 pp.  pb. ca. DM 74,-- Springer Verlag London
  2587.                  Limited 1992
  2588.  
  2589.        [Jour86]  Jourdain, Robert L. "Programmer_s problem solver
  2590.                  for the IBM PC, XT and AT"; Prentice Hall Press,
  2591.                  1986
  2592.  
  2593.        [Keph94]  Kephart, Jeffrey  O.  "A  Biologically  Inspired
  2594.                  Immune System for Computers"; 1994
  2595.                  ftp.informatik.uni-ham-
  2596.                  burg.de:/pub/virus/texts/viruses/immune.zip
  2597.        [LANl95]  Zeitschrift "LANline - Das Magazin für Netze und
  2598.                  Kommunikation", AWI  LANline Verlagsgesellschaft
  2599.                  mbH, Ausgabe 3/95, S. 20 ff.
  2600.        [Micr94]  Microsoft,  "Systemhandbuch   Microsoft  Win  NT
  2601.                  Workstation - Version 3.5", 1994
  2602.        [Morr88]  "Die  großen   Systeme  reizten   Robert".   Der
  2603.                  Spiegel, Nr. 47 1988, S. 252-265. Anmerkung: Der
  2604.                  "Internet-Worm"
  2605.  
  2606.        [Nort92]  Norton, Peter:  Windows 3 - Programmiertechniken
  2607.                  für Profis  -  "Hungarian  Naming  nach  Charles
  2608.                  Simonyi", S. 56, Markt & Technik, 1992.
  2609.        [PB92]    Polk, W.  T. &  Bassham, L.  E.; "A Guide to the
  2610.                  Selection of  Anti-Virus Tools  and Techniques",
  2611.                  National Institute of Standards and Technology -
  2612.                  Computer Security Division, 2. Dec. 1992
  2613.        [Rada93]  Radai, Yisrael  "The Anti-Viral  Software of MS-
  2614.                  DOS 6", 9. Sept. 1993
  2615.  
  2616.                  ftp.informatik.uni-ham-
  2617.                  burg.de:/pub/virus/texts/viruses/msaveval.zip
  2618.  
  2619.  
  2620.  
  2621.  
  2622.  
  2623.  
  2624.       Beschreibung aller Virenarten und Virengattungen       Seite: 41
  2625.  
  2626.        [Slad95]  Slade, Robert M.; "VirEthics", 20.03.1995
  2627.  
  2628.                  ftp.informatik.uni-ham-
  2629.                  burg.de:/pub/virus/texts/viruses/virethics.zip
  2630.  
  2631.        [Smad94]  Smadja,  Birgit   "Novell  Netware:  Einführung,
  2632.                  Arbeitsbuch,   Nachschlagewerk",    Markt    und
  2633.                  Technik, Haar  bei München,  ISBN 3-87791-487-X;
  2634.                  1994
  2635.  
  2636.        [Treb92]  Treber,      C.      "Systemprogramme      gegen
  2637.                  Computerviren", 1992, Hanser-Verlag
  2638.  
  2639.  
  2640.       /* ENDE */
  2641.  
  2642.  
  2643.  
  2644.  
  2645.  
  2646.  
  2647.  
  2648.  
  2649.  
  2650.  
  2651.  
  2652.  
  2653.  
  2654.  
  2655.  
  2656.  
  2657.  
  2658.  
  2659.  
  2660.  
  2661.  
  2662.  
  2663.  
  2664.  
  2665.  
  2666.  
  2667.  
  2668.  
  2669.  
  2670.  
  2671.  
  2672.  
  2673.  
  2674.  
  2675.  
  2676.  
  2677.  
  2678.  
  2679.  
  2680.  
  2681.  
  2682.  
  2683.  
  2684.  
  2685.  
  2686.  
  2687.  
  2688.       Beschreibung aller Virenarten und Virengattungen       Seite: 42
  2689.